לפני שאתה מכניס למסד נתונים אתה צריך לדאוג שההכנסה למסד נתונים תיהיה מאובטחת (אם למשל הקלט שלך הוא מספר, כל מה שאתה צריך זה להשתמש בפונקציה intval ולא מעבר לזה)
ולהשתמש נכון בפונקציות (אם תשתמש בmysql_real_escape_string בשאילתה הבאה: SELECT * FROM `table` WHERE `column` = $myvar - עדיין תיהיה פגיע ל-SQLi (את $myvar צריך להכניס לתוך מחרוזת - '$myvar')
וגם בשליפה אותו הדבר - אתה צריך לחשוב על איפה אתה הולך למקם את הפלט, ולהשתמש בו בהתאם. אתה הולך להציג מספר? intval יעשה את העבודה. וגם פה - חשוב לדעת בדיוק לאן אתה מכניס את הפלט - אם לדוגמה תעשה ככה:
<img src="blabla.jpg" $attr_output />
גם אם תשתמש בפונקציה htmlspecialchars עדיין יהיה XSS באתר שלך.
אין "פונקציית אבטחה גנרית" - אתה צריך ללמוד ולהבין איך הפירצות עובדות - וככה להתאים את עצמך בהתאם לקלט / פלט שאתה עובד איתו.
|