Ir para o conteúdo
M@KO

Ler base de dados ao contrario

Mensagens Recomendadas

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:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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//

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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 :hmm:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedrotuga

Estás a permitir que o utilizador insira o que quiser nesses campos, assim, um utilizador mal intencionado pode injectar html e javascript e causar-te problemas. Lê este artigo do tirácio para uma explicação mais elaborada:

http://wiki.portugal-a-programar.org/revistaprogramar_arquivo:11_edicao:vulnerabilidades_em_aplicacoes_web

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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???

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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!

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.