Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dj_diegodj

Esse codigo eh realmente seguro?

Recommended Posts

Bom galera criei antes um topico pedindo ajuda sobre a categoria vcs me responderam e deu tudo certo soh esqueci de pergunta se isso era realmente seguro

<html>
<body>
<table border="0" align="center" >
<?
$conexao = mysql_connect("localhost" , "root" , "");
$db = mysql_select_db("forum");

$pegar = mysql_query("select * from texte");
while($mostrar = mysql_fetch_array($pegar)) {
?>
<tr>
   <td width="160"><a href="index.php?id=<?=$mostrar['id'] ?>"><?=$mostrar['link'] ?></a></td>
<?
}
?>

<?
$id_url = isset($_GET['id']) ? (int)$_GET['id'] : $id=1;
$id_url = $_GET['id'];
$pegar2 = mysql_query("select * from texte where id = '$id_url'");
while($mostrar2 = mysql_fetch_array($pegar2)) {
$titulo = $mostrar2['titulo'];
$texto = $mostrar2['texto'];
?>
	<td width="150" valign="top"><? echo "<strong>$titulo</strong> <br/><br/>";
						   echo "$texto"; ?> </td>
</tr>
<?
}
?>
</table>
</body>
</html>

aguardo respostas vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

olhando rapidamente

existem diversos erros

 

o mais visivel [e esse trecho

 

$id_url = isset($_GET['id']) ? (int)$_GET['id'] : $id=1;
$id_url = $_GET['id'];

 

sugestao para correçao

 

$id_url = isset($_GET['id']) ? (int)$_GET['id'] : 1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok vo faze isso mais eh 100% de certeza q ninguem ira invadir?

Nada na internet é 100%

 

Pelo menos ainda nao divulgaram algo que seja

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao tem nada de mais nesse script ..

 

se está tão preocupado com segurança, entao faça um tratamento das variáveis antes de montar a query sql

 

$pegar2 = mysql_query("select * from texte where id = '$id_url'");

a variável $id_url não está recebendo nenhum tratamento. SQL injection por exemplo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

a variável $id_url não está recebendo nenhum tratamento. SQL injection por exemplo...

Corrija-me se eu estiver errado, mas, nesse caso, o simples casting ((int)) já faz esse serviço, uma vez que o parâmetro é obrigatoriamente um inteiro.

Se fosse uma string, aí seria outra história...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrija-me se eu estiver errado, mas, nesse caso, o simples casting ((int)) já faz esse serviço, uma vez que o parâmetro é obrigatoriamente um inteiro.

é verdade..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrija-me se eu estiver errado, mas, nesse caso, o simples casting ((int)) já faz esse serviço, uma vez que o parâmetro é obrigatoriamente um inteiro.

ops.. não é verdade..

 

faça

 

<?php
$str = 5;
echo (int)$str . '"';
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas esse tipo de concatenação só poderia acontecer se o programador fizer algo errado. Após fazer o casting, não fica nada referente a string:

 

$str = "5\"or senha = ''\"";
echo (int)$str;

Retorna 5

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.