View Single Post
ישן 29-01-09, 15:51   # 10
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

ציטוט:
נכתב במקור על ידי DvirCohen צפה בהודעה
רון הראה לך את אופן השימוש.
אבל שוב, הפונקציה הזאת לא מספיקה.
הפונקציה הזאת לא חוסמת את התו ' אלא רק את התווים <>"&.
מה שאומר שנניח ואתה עושה טופס התחברות עם שאילתה כזאת:
PHP קוד:
$user htmlspecialchars($_POST['user']);
$pass htmlspecialchars($_POST['pass']);

$q mysql_query("SELECT * FROM `members` WHERE `user` = '".$user."' AND `pass` = '".$pass."'"); 
אני עדיין יוכל להזריק לך דבר כזה:
קוד:
' OR 'a'='a
והשאילתה תהיה:
קוד:
SELECT * FROM `members` WHERE `user` = 'something' AND `pass` = '' OR 'a'='a'
כן, sql injection, אז שאלה, למה לא ישר לשים mysql_real_escape_string?
אפשר לוותר על htmlspecialchars? או שזה משהו שונה?
בכללי, אפשר לשים יותר מהגנה אחת? כלומר גם htmlspecialchars וגם mysql_real_escape_string?

תודה רבה!!
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote