danutz0501 Posted October 12, 2012 Report Posted October 12, 2012 Salut, voi cum v-ati apara un web site impotriva rfi , lfi si null byte.Vestitul switch sau daca aveti paginile intr-un director folositi scandir si in_array()?Si pdo (interogari parametrizate placeholdere etc) ma scapa de sql injection? Quote
totti93 Posted October 12, 2012 Report Posted October 12, 2012 Poti folosi scandir() si in_array() limitandu-te doar la fisierele aflate in acel director de unde vor fi incluse ele.Pentru a apara un SQL Injection eu folosesc mysql_real_escape_string() din libraria mysql. Quote
shaggi Posted October 12, 2012 Report Posted October 12, 2012 Pentru a apara un SQL Injection eu folosesc mysql_real_escape_string() din libraria mysql.si eu folosesc addslashes() Quote
totti93 Posted October 12, 2012 Report Posted October 12, 2012 Da, multi fac escape la caracterul 0x27 ('), dar gresesc la sintaxa de interogare SQL, greseli gen:SELECT * FROM `tabel` WHERE `id`=$id;$id fiind un parametru controlat de utilizator (client).Multi nu il folosesc string, gen '$id', si din aceasta cauza se poate face injecta. Quote
c0unt3rlog1c Posted October 14, 2012 Report Posted October 14, 2012 Pentru RFI, eu folosesc FILTER_VALIDATE_URL sau FILTER_SANITIZE_URL, merge pe PHP 5.2 sau mai mare.Iar pentru LFI, la fel ca mai sus.La SQLi, mysql_real_escape_string() e cea mai buna solutie.Iar pentru null byte, eu folosesc codul urmator, care elimina de tot byteul:$file = str_replace(chr(0), '', $string); Quote
danutz0501 Posted October 14, 2012 Author Report Posted October 14, 2012 Eu ma folosesc de pdo, setez default charset utf-8, emulare interogari parametrizate off, type casting la bindValue etc.Am intrebat pt ca am gasit niste articole, discutii cum vreti sa ai ziceti pe stackoverflow(sper sa nu fie considerata reclama) in care se tot spunea ca pdo si interogarile parametrizate nu ar fi chiar asa safe. Oricum ms pt raspunsuri. Quote