Sécurité dans forum
le 24/12/2004 à 00:44
bibi
a faire quoi ?
commit suicide
lut,
pour faire simple oui :) (c'est pas limitatif)
addslashes on va dire que c'est pour éviter les injection sql
et htmlentities c'est pour éviter le saloperies en html du genre <script language="javascript"> document.location.href="monsiteamon.com";</script> au quel tu penser !
quand au fait que tu n'est pas réussi a executé du php en l'insérant dans un forum je pense que c'est du au fait qu'il est considérer comme tu text quand tu récupère de ta base et que tu ne fait rien pour qu'il s'éxécute (y a moyen il me semble mais je sais plus comment)!
il existe aussi htmlspecialchars, striptags et certainement d'autre que j'oublie.
Il ne faut pas oublier que la manière de coder est aussi importante que ce genre de focntion !
bonne lecture (j'espère ne pas avoir dis trop de ceonnerie
)
Il en faut peu pour être heureux !!!!!
le 24/12/2004 à 01:27
Bzh
Ok ! Merci...
Peut être que mon code php c 'est pas éxécuté parce que j' avais déjà mis stripslashes() !!!
Bye...
eu stripslashes ne fait que retirer les \ qui échappe ' et " donc ton code été comme rentrée dans la txt area (hormis autre fonction)
@+
Il en faut peu pour être heureux !!!!!
RTFM about SQL injection and XSS ! voila ;)
Ciao,
I am singing in the rain , I am happy again !!
en faite, moi avec htmlentities() je suis tranquille,
les visiteurs peuvent saisir du code (des < >), les caractere speciaux seront traduit en html (ce qui donne ca: < > ) donc php n'interprete pas.
Il faut aussi mettre le addslashes pour eviter que ca bug lorsque l'utilisateur met des ' !
http://damienalexandre.fr/
le 26/12/2004 à 15:40
Bzh
Ok !!! Merci...
Oui, en effet, donc
et
suffisent à avoir une protection acceptable !!!
Merci...
Bye...
Oui pour exemple à ceux qui n'ont pas très bien suivi ce dialogue :
Afin de limiter les utilisateurs malveillants lors d'une inscription par exemple, on peut avoir cette fonction :
<?php
function login( $username, $password )
// on regarde si username and password existent dans la db
// si ils y sont, on retourne vrai (return true)
// sinon on retourne faux (return false)
{
$username = trim( addslashes( htmlspecialchars( $username ) ) ); # parsing du login
$password = trim( addslashes( htmlspecialchars( $password ) ) ); # parsing du password
// script testé avec 'or''='
// on regarde si username est unique
if( ( strlen( $username ) != 0 ) && ( strlen( $password ) != 0 ) ){
$req = mysql_query( ' SELECT * FROM membres
WHERE username = "'.$username.'"
AND password = "'.$password.'" ' );
if( !$req )
return 0;
if( mysql_num_rows( $req ) > 0 )
return 1;
else
return 0;
}
mysql_free_result( $req );
}
?>
Sans oublier bien évidemment de placer la protection md5(); pour le password que je n'ai pas mis là pour la clarté du script.
Be YourSelf - Be Inspired
ou bien;
Be YourSelf - Be Inspired
ouai enfin c'est pas top comme protection.
Si tu ne met que ça tout le monde peut passer outre t'es protection. (j'vais pas faire de cours de hack car j'en suis incapable :p) mais regarde du côté de ce carractère
Il est super pratique ... pour outrepasser les demandes de passe et de login (super aussi pour recup le compte de l'admin)
J'vous conseil pas de l'utiliser car tout site (normalement) n'as pas cette faille...
Vous avez besoin d'un script ou d'aide ??? je peux vous le fournir gratuitement.