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

M@KO

Ler base de dados ao contrario

16 mensagens neste tópico

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:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora