עבור לתוכן

שאלות בקשר לטיפול בSQL INJECTIONS עם PHP.

Featured Replies

פורסם

קודם כל, למה להשתמש ב magic_quotes , mysql_real_escape_string, mysql_escape_string, add_slashes

כאשר יש לי magic_quotes במצב ON?

ומה ההבדך ביניהם?

כל ה4 לא עושים את אותו הדבר?

ואם לדוגמא כמו עכשיו, יש לי magic_quotes, למה כאשר אני לוקח משהו בסגנון

fghfgh' /\

ואחר כך אני יעשה STRIPSLASHES זה יראה על המסך

fghfgh\' /\\

יענו זה עדיין משאיר SLASHES אף על פי שאם אני מסיר אותם ועושה השוואה עם בסיס הנתונים, זה עובד כאילו הכל בסדר.

ושאלה אחרונה, יש למישהו מדריך איך להשתמש בPHP כדי לתת שגיאה כאשר המשתמש מקליד אחד מהסימנים האסורים כדי

שאני לא יצטרך להתעסק עם זה?

פורסם

קודם כל, למה להשתמש ב magic_quotes , mysql_real_escape_string, mysql_escape_string, add_slashes

כאשר יש לי magic_quotes במצב ON?

מי אמר שצריך?

בכל מקרה מומלץ לבטל את ה magic_quotes ולטפל במידע בעצמך.

ומה ההבדך ביניהם?

כל ה4 לא עושים את אותו הדבר?

mysql_real_escape_string ו - mysql_escape_string עושים את אותה פעולה (שהיא בעצם addslashes) ההבדל בינהן הוא:

This function (mysql_escape_string) is identical to mysql_real_escape_string() except that mysql_real_escape_string() takes a connection handler and escapes the string according to the current character set. mysql_escape_string() does not take a connection argument and does not respect the current charset setting.

לקוח מהתיעוד של mysql_escape_string

ואם לדוגמא כמו עכשיו, יש לי magic_quotes, למה כאשר אני לוקח משהו בסגנון

fghfgh' /\

ואחר כך אני יעשה STRIPSLASHES זה יראה על המסך

fghfgh\' /\\

יענו זה עדיין משאיר SLASHES אף על פי שאם אני מסיר אותם ועושה השוואה עם בסיס הנתונים, זה עובד כאילו הכל בסדר.

בבסיס נתונים זה ללא קווים נטויים?

נשמע מוזר, יש לך אפשרות להראות את הקוד שאתה משתמש בו?

ושאלה אחרונה, יש למישהו מדריך איך להשתמש בPHP כדי לתת שגיאה כאשר המשתמש מקליד אחד מהסימנים האסורים כדי

שאני לא יצטרך להתעסק עם זה?

אתה מתכוון שיעבוד בצד הלקוח? שאם הוא מכניס תו אסור תופיע שגיאה?

את זה תוכל לעשות בצד הלקוח (javascript).

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים