Het antwoord van Javier met de owasp-link is een goed begin.
Er zijn nog een paar dingen die u meer kunt doen:
-
Met betrekking tot SQL-injectie-aanvallen, kunt u een functie schrijven die algemene SQL-instructies uit de invoer verwijdert, zoals " DROP " of "DELETE * WHERE", zoals deze:
*$sqlarray =array( " DROP ","of 1=1","union select","SELECT * FROM","select host","create table","FROM users","users WHERE");*
Schrijf vervolgens de functie die uw invoer vergelijkt met deze array. Zorg ervoor dat alle dingen in de $sqlarray geen algemene invoer van uw gebruikers zijn. (Vergeet niet om strtolower hiervoor te gebruiken, bedankt lou).
-
Ik weet niet zeker of memcache werkt met PHP 4, maar je kunt spambeveiliging instellen met memcache door slechts een bepaald aantal externe IP-toegang tot de process.php-pagina X een aantal keren in een Y-periode toe te staan.
-
Voorrechten zijn belangrijk. Als u alleen invoegrechten nodig heeft (bijvoorbeeld orderverwerking), dan moet u inloggen op de database op de bestelprocespagina met een gebruiker die alleen invoeg- en selecteerrechten heeft. Dit betekent dat zelfs als een SQL-injectie zou slagen, ze alleen INSERT / SELECT-query's konden uitvoeren en niet konden verwijderen of herstructureren.
-
Zet belangrijke php-verwerkingsbestanden in een map zoals /include. Geef vervolgens alle IP's geen toegang tot die /include-map.
-
Plaats een gezouten MD5 met de agent van de gebruiker + remoteip + uw zout in de sessie van de gebruiker, en laat het bij elke paginalading verifiëren dat de juiste MD5 in hun cookie zit.
-
Sta bepaalde headers niet toe (http://www.owasp.org/index.php/Testing_for_HTTP_Methods_and_XST ). PUT niet toestaan (als u geen bestandsuploads nodig hebt)/TRACE/CONNECT/DELETE-headers.