Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
M@KO

Ler base de dados ao contrario

Recommended Posts

M@KO

Boas!!

Fiz um guestbook simples. na pagina tenho uma form e por baixo aparecem os comentarios ja feitos.

Mas o comentario mais recente fica no fundo da pagina e eu queria inverter isso.

Como faço???

O codigo que la tenho é este:

<?php
                   $con = mysql_connect(localhost,user,pass);
                   if (!$con)
                   {
                    die("Erro ao tentar conectar!" . mysql_error());
                   }
                   mysql_select_db("my_db", $con);
                   $result = mysql_query("SELECT * FROM basedados");
                   while($row=mysql_fetch_array($result))
                   {
                    echo $row['nome'];
                    echo"<br/>";
                    echo $row['data'];
                    echo"<br/>";
                    echo $row['mail'];
                    echo"<br/>";
                    echo"<br/>";
                    echo $row['mensagem'];
                    echo"<br/>";
                    echo"<hr>";
                   }
                   mysql_close($con);
              ?>

:wallbash:

Share this post


Link to post
Share on other sites
David Pintassilgo

Marco, faz uma coisa,... quando quiseres fazer pequenas querys simples desse género pode ver como se faz pelo "phpMyAdmin". com facilidade fazes a pesquiza (ou outro movimento) com a ajuda das opções que lá aparecem e tal... e depois no fim aparece-te o codigo que foi usado para o resultado que aparece.

(não sei se expliquei bem...)


cool stuffs to check.

http://blog.zxcoders.com//

Share this post


Link to post
Share on other sites
pedrotuga

Marco, faz uma coisa,... quando quiseres fazer pequenas querys simples desse género pode ver como se faz pelo "phpMyAdmin". com facilidade fazes a pesquiza (ou outro movimento) com a ajuda das opções que lá aparecem e tal... e depois no fim aparece-te o codigo que foi usado para o resultado que aparece.

(não sei se expliquei bem...)

Yeps, isso é a forma mais eficiente que pode existir de aprender, à hacker... a ver como as coisas funcionam. Não há teoria que bata o impulso de aprendizagem de um verdadeiro hacker.

Share this post


Link to post
Share on other sites
Gurzi

Boas!!

Fiz um guestbook simples. na pagina tenho uma form e por baixo aparecem os comentarios ja feitos.

Mas o comentario mais recente fica no fundo da pagina e eu queria inverter isso.

Como faço???

O codigo que la tenho é este:

<?php
                   $con = mysql_connect(localhost,user,pass);
                   if (!$con)
                   {
                    die("Erro ao tentar conectar!" . mysql_error());
                   }
                   mysql_select_db("my_db", $con);
                   $result = mysql_query("SELECT * FROM basedados");
                   while($row=mysql_fetch_array($result))
                   {
                    echo $row['nome'];
                    echo"<br/>";
                    echo $row['data'];
                    echo"<br/>";
                    echo $row['mail'];
                    echo"<br/>";
                    echo"<br/>";
                    echo $row['mensagem'];
                    echo"<br/>";
                    echo"<hr>";
                   }
                   mysql_close($con);
              ?>

:wallbash:

Cuidado com XSS CROSS SCRIPTING.

Cheira-me que tens isso vulnerável não sei porquê ....

Apoio : http://en.wikipedia.org/wiki/Cross-site_scripting

Share this post


Link to post
Share on other sites
djthyrax

Cuidado com XSS CROSS SCRIPTING.

Cheira-me que tens isso vulnerável não sei porquê ....

Apoio : http://en.wikipedia.org/wiki/Cross-site_scripting

Depende, se ele tratar os dados antes de armazenar (que é o correcto), não está.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
M@KO

tratar os dados antes de armazenar??????

lol

XSS CROSS SCRIPTING?????????

nunca tinha ouvido falar em nenhuma destas duas coisas 😳

ta visto que ta vulneravel. mas, vulneravel a que???

ainda sou um zero a esquerda no php :wallbash:

bem... pra ja vou ver aquilo do order by e D_pintassilgo, percebi a dica. Vou la espreitar isso na BD.

Obrigado

:thumbsup:

- ORDER BY data ASC - ta 5 estrelas. Obrigado.

agora to é a pensar nisso da vulnerabilidade 🤔

Share this post


Link to post
Share on other sites
M@KO

em relacao ao tratamento de dados fiz isto:

$nome= strip_tags($_POST[nome]);
$mail= strip_tags($_POST[mail]);
$mensagem= strip_tags($_POST[mensagem]);
$data= date("Y/m/d");

isto do strip_tags elimina as tags de html e php e assim gravo na base de dados a variavel $nome que é igual à $_POST[nome] mas sem tags caso algum brincalhao tenha escrito html no logar do nome.

Isto já me dá alguma segurança nao???

Share this post


Link to post
Share on other sites
pedrotuga

Eliminas a possibilidade de injecção de HTML mas não eliminas a possibilidade de injecção de SQL. Para isso deves usar a função mysql_real_escape_string().

Mas a função strip_tags não serve bem para isso. Se a usares não vais permitir que os teus utilizadores afixem por exemplo código html. O que eu acho que é mais lógico usar é o htmlspceialchars() no output.

Share this post


Link to post
Share on other sites
djthyrax

Eliminas a possibilidade de injecção de HTML mas não eliminas a possibilidade de injecção de SQL. Para isso deves usar a função mysql_real_escape_string().

Exacto.

Mas a função strip_tags não serve bem para isso. Se a usares não vais permitir que os teus utilizadores afixem por exemplo código html. O que eu acho que é mais lógico usar é o htmlspceialchars() no output.

O ideal é mesmo o htmlentities(), que faz encoding de todos. :P

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
pedrotuga

Não faço ideia quais são as directivas de estilo da w3c mas eu não gosto de usar o htmlentities e sou da opinião que não deixa as coisas feitas como deve ser.

Repara, as entidades html por acaso cobrem os caracteres da língua portuguesa que não estão previstos pelo código ascii, mas imagina que falas bengal ou bangla, não sei onde até que ponto as entities fazem o que quer que seja se não tiveres suporte para o charset em questão.

Atenção que charset é diferente de encoding.

Adicionalmente vais estar a publicar texto que na verdade não é bem texto, é uma mistura de de texto com entidades html.

O que acho que é o caminho a seguir é usar unicode, com um encoding tipo utf-8 que tem suporte para praticamente todas as línguas faladas e mostrar o texto como texto.

Share this post


Link to post
Share on other sites
djthyrax

O W3C recomenda o uso de entidades sempre. Either way, não deixa porquê? Se não houver tipo & aacute; para o caracter XPTO, ele faz & #12343; consoante o charset usado. Qual é o problema?


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
pedrotuga

Não é problema nenhum, não é é preciso para nada. E não é solução para a esmagadora maioria das linguas.

EDIT: fiz uma pesquisa rápida no google e estava certo.

Estás enganado tirácio, a w3c recomenda precisamente não usar entidades, precisamente pela razão que eu disse.

It is almost always preferable to use an encoding that allows you to represent the characters in their normal form, rather than using character entity references or NCRs.

Using escapes can make it difficult to read and maintain source code, and can also significantly increase file size.

http://www.w3.org/International/questions/qa-escapes

Share this post


Link to post
Share on other sites
djthyrax

Tinha ideia que era ao contrário... Thx pela correcção.


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.