Chestiune tip de date.
Moderatori: Zamolxe, Moderatori
Chestiune tip de date.
Am codul asta:
<?php
$ing[1]=$_POST["ing1"]; if (!$ing[1]){$ing[1]="1";}
....
$ing[73]=$_POST["ing73"]; if (!$ing[73]){$ing[73]="1";}
$ingrediente = implode('9',$ing);
echo $ingrediente;
$result= mysql_query("INSERT INTO recipe1 (description) VALUES ($ingrediente)");
if ($result)
{
echo "<br>Conexiunea e reusita";
}
else
{
echo "<br>Conexiunea nu s-a facut";
}
?>
Sirul ingrediente e procesat exact cum trebuie.
E afisat asa :
1919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919192919291919191919191919191919191919191
insa in baza de date e introdus numai sirul :
99999999999999999999999999999999999999999999999999999999999999999
casuta e de tip text.
PLS, HELP!
<?php
$ing[1]=$_POST["ing1"]; if (!$ing[1]){$ing[1]="1";}
....
$ing[73]=$_POST["ing73"]; if (!$ing[73]){$ing[73]="1";}
$ingrediente = implode('9',$ing);
echo $ingrediente;
$result= mysql_query("INSERT INTO recipe1 (description) VALUES ($ingrediente)");
if ($result)
{
echo "<br>Conexiunea e reusita";
}
else
{
echo "<br>Conexiunea nu s-a facut";
}
?>
Sirul ingrediente e procesat exact cum trebuie.
E afisat asa :
1919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919192919291919191919191919191919191919191
insa in baza de date e introdus numai sirul :
99999999999999999999999999999999999999999999999999999999999999999
casuta e de tip text.
PLS, HELP!
nevvermind - iti multumesc din tot sufletu'
mai am o intrebare la tn
numele adminului din baza de date e sub variabila $adminbd
parola adminului din baza de date e sub variabila $passbd
alea pe care le introduce omu' sunt stocate in variabilele $admin si $pass
sintaxa e asta
if ($admin=$adminbd && $pass=$passbd)
{
............
}
else
{
echo "Ati introdus ceva incorect";
}
Daca un hacker introduce la admin - /*
si la parola - */ 1=1 || 1
reuseste sa intre ca admin?
pt ca v-a fi asa
if (/*=$adminbd && */ 1=1 || 1=$passbd)
si se logheaza.
eu ma bazam pe faptul ca variabilele nu sunt interpretate decat in ultima instanta si nu pot schimba codul, de aia nu am pus codul cu if.[/i]
mai am o intrebare la tn
numele adminului din baza de date e sub variabila $adminbd
parola adminului din baza de date e sub variabila $passbd
alea pe care le introduce omu' sunt stocate in variabilele $admin si $pass
sintaxa e asta
if ($admin=$adminbd && $pass=$passbd)
{
............
}
else
{
echo "Ati introdus ceva incorect";
}
Daca un hacker introduce la admin - /*
si la parola - */ 1=1 || 1
reuseste sa intre ca admin?
pt ca v-a fi asa
if (/*=$adminbd && */ 1=1 || 1=$passbd)
si se logheaza.
eu ma bazam pe faptul ca variabilele nu sunt interpretate decat in ultima instanta si nu pot schimba codul, de aia nu am pus codul cu if.[/i]
"eu ma bazam pe faptul ca variabilele nu sunt interpretate decat in ultima instanta si nu pot schimba codul"
Nu m-am exprimat clar. Am avut in vedere ca daca am variabila $and = '&&';
si in loc de && pun $and nu credeam ca merge.
Adica codul din variabile ar trebui sa fie ceva de mana a 2-a si sodul scris de mine ceva superior, care nu fac legatura.
Ca si in pascal/C
multumesc pt raspuns
Nu m-am exprimat clar. Am avut in vedere ca daca am variabila $and = '&&';
si in loc de && pun $and nu credeam ca merge.
Adica codul din variabile ar trebui sa fie ceva de mana a 2-a si sodul scris de mine ceva superior, care nu fac legatura.
Ca si in pascal/C
multumesc pt raspuns
- Sim Master
- Average Member
- Mesaje: 189
- Membru din: Dum Aug 22, 2010 4:31 pm
- Localitate: Timisoara
- Contact:
-
nevvermind
- Senior Member
- Mesaje: 1264
- Membru din: Mar Iun 22, 2010 3:17 pm
Da, multam, stiu si eu ca nu e valabil oriunde, dar actiunile preventive ale unui programator ar trebui sa scoata din ecuatie cat mai multe din acele "daca".
Dar daca hacker-ului i se strica hdd-ul?
nevermind:
iti raspund asa cum ai scris..
daca $var = 99999 OR id > 0 ?
din start iti da eroare de cod; lipsesc ghilimele si ; la sfarsit de linie;
daca $var = "99999 OR id > 0" esti safe, hackerul nu intra; dupa cum sti, el trebuie sa-ti inchida ghilimelele de la $query, daca nu stiai, afli acum.
daca $var = "\" 9999 OR ID > 0 \"";
in acest caz mysql_real_escape_string, functia face exact ceea ce zice
, elimita tot ce trebuie astfel incat sa nu ai tu ghilimele prin "str";
daca nu poti dormi noaptea din cauza hackerilor;
faci o functie care sa prelucreze variabilele cu
trim()
stripcslashes ()
htmlentities()
sper sa-ti fie de folos.
iti raspund asa cum ai scris..
daca $var = 99999 OR id > 0 ?
din start iti da eroare de cod; lipsesc ghilimele si ; la sfarsit de linie;
daca $var = "99999 OR id > 0" esti safe, hackerul nu intra; dupa cum sti, el trebuie sa-ti inchida ghilimelele de la $query, daca nu stiai, afli acum.
daca $var = "\" 9999 OR ID > 0 \"";
in acest caz mysql_real_escape_string, functia face exact ceea ce zice
daca nu poti dormi noaptea din cauza hackerilor;
faci o functie care sa prelucreze variabilele cu
trim()
stripcslashes ()
htmlentities()
sper sa-ti fie de folos.
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori
