Biztosítsa a PHP kódját

  • Fontos, hogy a felhasználóktól (űrlapoktól és URL-től stb.) Biztonságos adatokat biztosítsanak az operációs rendszer szerverén és a http szerveren kívül, elsősorban a webes támadás miatt.
  • A php kódjának 3 kategóriája van:

Az adatfelhasználók érvényesítése

Ha az oldal olyan formákat kínál, amelyek lehetővé teszik a felhasználók számára a tartalom rögzítését és küldését, ez nem elegendő a bejegyzések formátumának jelzéséhez (e-mail cím, telefonszám, termékmennyiség). a hagyományos elvárásoknak megfelelően. A teljes számokat figyelembe véve a felhasználó által küldött összes adatot konvertálhatja:

Érvényesítse az adatokat az URL-től vagy az űrlapoktól

Szinte minden fogadott adat a webmester által létrehozott URL-ről vagy űrlapokból származik. Majdnem minden URL megjelenítési paraméter az alábbiak szerint határozható meg:

/index.php?rub=25

Ezt a paramétert azonban nem szabad módosítani. De ez az alábbiak szerint lehetséges:

 /index.php?rub=0 /index.php?rub= /index.php?rub=aaaaAAAAAaaaa /index.php?rub=1+or+1 
  • Fontos, hogy ellenőrizze, hogy az URL-en vagy formanyomtatványon keresztül kapott formátum az adatok típusától függetlenül várható-e.
  • Használhatja a filter_input () függvényt, hogy ellenőrizze ezt.
  • Például, ha e-mailt kaptunk egy e-mailt a felhasználónak a formátumú üzenetből a mező nevével. Ugyanezt a helyreállíthatja:

 $ email = filter_input (INPUT_POST, "email", FILTER_VALIDATE_EMAIL); ha ($ email) {// Az e-mail cím bejegyzés valóban egy e-mail cím formátum} 

Ez a funkció számos dolgot szűrhet: IP-cím, URL stb. Módosíthat olyan kódolást, mint a kódolási karaktersorozat, mielőtt az URL-en keresztül továbbítaná a folyamatot a htmlentities () segítségével.

  • Számos szűrő kombinálható a "|" .
  • Egy IP-cím érvényesítése csak IPv4 formátumban:

$ ip = filter_input (INPUT_GET, 'ip', FILTER_VALIDATE_IP | FILTER_FLAG_IPV4);

Kattintson a következő linkre a szűrőkre:

//www.php.net/filter

Az URL-cím megjelenített tartalmának kihagyása

Amikor a felhasználó által megadott tartalom megjelenik a képernyőn, HTML vagy JavaScript kódot tartalmaz, amely azonban kötelezővé teszi a védelmet.

Ha a html-ben megjelenítendő tartalom: HTML-kódolnia kell a beállítást, hogy az összes karaktert egyenértékű HTML-entitásokban konvertálja. Az alábbiakban található a php funkció a folyamat automatizálásához:

echo htmlentities ($ _ REQUEST ['content']);

Ha a tartalmat URL-ben kell megjeleníteni, akkor meg kell adnia a tartalmat.

A PHP-nek két funkciója van a kódoláshoz: urlencode () és rawurlencode (). A két funkció közötti különbség egy olyan terület kódolása, amely az első függvényben% 20-at és "+" -ot ad a másodikban.

 echo '//www.website?valeur='.urlencode($_REQUEST [' érték)]); 

Ha a tartalmat adatbázisban kell tárolni, akkor el kell kerülnie az összes olyan karaktert, amelyik az adott adatbázis-kiszolgálóban meghatározott szerepet játszik. A PHP és a MySQL esetén a mysql_escape_string () függvény minden potenciálisan káros karaktert paraméterként ad meg.

 $ query = 'SELECT id FROM matable WHERE user = "'. mysql_escape_string ($ _ REQUEST ['user']). '"'; 

Ne feledje, hogy a szerver a magic_quotes PHP opcióval van konfigurálva, a felhasználók által továbbított adatok automatikusan visszafelé irányuló vonalakkal (backslash) védettek. Ezért a mysql_escape_string védelme előtt "vissza kell vonnia " ezt az alapvető védelmet:

 $ query = 'SELECT id FROM mytable WHERE user =' '. stripslashes (mysql_escape_string ($ _ REQUEST [' user '])).' "; 
Előző Cikk Következő Cikk

Top Tippek