ניקוי קלט משדה בטופס כהגנה מ-SQL Injection

תיאור:

פונקציה קטנה ויעילה שהיא חלק ממערך הגנה על טפסי שאתם מציבים ברחבי האתר. פונקציה זאת בודקת אם get_magic_quotes_gpc פעיל בשרת שלכם. אם כן get_magic_quotes_gpc שם את התו \ לפני תווים בעייתים. אם פונקציה זאת לא פעילה ובכל מקרה הפונקציה תריץ גם את הפקודה mysql_real_escape_string אשר שמה תו \ לפני תווים מסוימים כמו לדוגמה x00

first קוד:

  • מה: פונקציה למניעת SQL Injection
  • איפה: ישירות בדף או בקובץ functions מצורף
<?php
function cleaninput($original){
	if (get_magic_quotes_gpc()) {
		$clean = mysql_real_escape_string(stripslashes($original));	 
	}else{
		$clean = mysql_real_escape_string($original);	
	} 
	return $clean;
}
?>

second קוד:

  • מה: הדגמה של שימוש בפונקציה
  • איפה: בקובץ בו אתם קולטים ערכים מטופס
$somevar = $_POST['somevar'] // קולטים משתנה מהטופס לדוגמה

// מנקים את אותו משתנה
$clean_somevar = cleaninput($somevar)

סניפטים דומים: