Securizare cod PHP

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

GigiDuru
Average Member
Mesaje: 53
Membru din: Vin Ian 24, 2014 1:35 pm

Securizare cod PHP

Mesajde GigiDuru » Vin Feb 07, 2014 3:32 pm

Salutare.
Simplu si la subiect: Cum se securizeaza un cod PHP pentru nu a avea probleme cu hackeri?
Stiu si eu sa caut pe google, am aflat de mysqli, mysql_real_escape_string(), dar vreau sa stiu si din experienta voastra.
Mai ales cum se securizeaza formularele si orice are legatura cu baza de date. Linkurile gen example.com?name=ion prin metoda GET dar si prin POST.
Multumesc!



alexe
Average Member
Mesaje: 60
Membru din: Vin Sep 14, 2012 3:45 pm

Re: Securizare cod PHP

Mesajde alexe » Vin Feb 07, 2014 3:49 pm

Eu pe un site facut de mine am creat aceasta functie :

Cod: Selectaţi tot

   /* Functie convertire caractere speciale */
   function convert($string){
      $semne = array('<script>', '</script>',
                  '<noscript>', '</noscript>',
                  '<head>', '</head>',
                  '<style>', '</style>',
                  '<object>', '</object>',
                  '<embed>', '</embed>',
                  '<applet>', '</applet>',
                  '<noframes>', '</noframes>',
                  '<noembed>', '</noembed>',
                  'javascript:', 'vbscript:',
                  '<script language=', '<script src=',
                  'src=javascript:', 'src=vbscript:',
                  '?', '@', '|', '!', '.', '(', ')', '\'');
      $html = array('&lt;script&gt;', '&lt;&#47;script&gt;',
                 '&lt;noscript&gt;', '&lt;&#47;noscript&gt;',
                 '&lt;head&gt;', '&lt;&#47;head&gt;',
                 '&lt;style&gt;', '&lt;&#47;style&gt;',
                 '&lt;object&gt;', '&lt;&#47;object&gt;',
                 '&lt;embed&gt;', '&lt;&#47;embed&gt;',
                 '&lt;applet&gt;', '&lt;&#47;applet&gt;',
                 '&lt;noframes&gt;', '&lt;&#47;noframes&gt;',
                 '&lt;noembed&gt;', '&lt;&#47;noembed&gt;',
                 'javascript&#58;', 'vbscript&#58;',
                 '&lt;script language&#61;', '&lt;script src&#61;',
                 'src&#61;javascript&#58;', 'src&#61;vbscript&#58;',
                 '&#63;', '&#64;', '&#124;', '&#33;', '&#46;', '&#40;', '&#41;', '&#39;');
      $string = str_ireplace($semne, $html, $string);
      
      return $string;
   }

Acuma nustiu cat de buna ii sau nui, as vrea sa se uite careva peste ea si sa si zica daca ajuta la ceva sau nu :) si daca vrei sa o folosesti o poti folosi si tu punand functia intrun fisier php . :)
Daca ai gasit ceva ce nui bun la ea sau ai adaugat ceva atunci pune noile inbunatatiri te rog :)

Avatar utilizator
inginerul
Average Member
Mesaje: 111
Membru din: Sâm Dec 01, 2012 11:34 pm
Contact:

Re: Securizare cod PHP

Mesajde inginerul » Vin Feb 07, 2014 3:57 pm

Principiul e asta: Sa faci in asa fel ca utilizatorul sa nu poata insera niciun cod php, mysql js, etc in pagini astfel incat sa fie prelucrat, ca apoi iti dauneaza tie.
De exemplu daca tu ai un formular ce salveaza continutul intr-un fisier php care apoi este inclus in pagina, iar eu trimit print acel formular un cod php ce sterge toate fisierele gasite, in momentul cand voi accesa pagina in care ai inclus tu acel fisier se va interpreta scriptul scris de mine si va face ce i-am zis eu sa faca.
Intotdeauna cand preiei informatii din formulare sa stergi tagurile html si php cu functia strip_tags()
O alta importanta au stergerea ghilimelelor, caracterelor punct si virgula si altele (asta pentru protectia sql). Cauta despre sql injection si vezi cum functioneaza. E cam mult de explicat ca sa iti zic aici.

Avatar utilizator
inginerul
Average Member
Mesaje: 111
Membru din: Sâm Dec 01, 2012 11:34 pm
Contact:

Re: Securizare cod PHP

Mesajde inginerul » Vin Feb 07, 2014 4:05 pm

@alexe ce ai facut tu se poate face foarte usor cu functia htmlspecialchars() care in loc de interpreta tagurile respective (orice tag) le afiseaza asa cum sunt:

Cod: Selectaţi tot

<?php
$a = '<b>bla bla bla</b>';
echo htmlspecialchars($a);
?>

Mai sunt de folos functiile html_entity_decode("sir") si htmlentities("sir")
Testeaza-le

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Securizare cod PHP

Mesajde Birkoff » Vin Feb 07, 2014 7:01 pm

GigiDuru scrie:Salutare.
Simplu si la subiect: Cum se securizeaza un cod PHP pentru nu a avea probleme cu hackeri?
Stiu si eu sa caut pe google, am aflat de mysqli, mysql_real_escape_string(), dar vreau sa stiu si din experienta voastra.
Mai ales cum se securizeaza formularele si orice are legatura cu baza de date. Linkurile gen example.com?name=ion prin metoda GET dar si prin POST.
Multumesc!


uite cateva tutoriale de studiu, trateaza mai multe tipuri de atacuri si exemple despre cum te poti proteja de fiecare, citeste-le si aplica-le.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 52 vizitatori