ציטוט:
נכתב במקור על ידי DvirCohen
רון הראה לך את אופן השימוש.
אבל שוב, הפונקציה הזאת לא מספיקה.
הפונקציה הזאת לא חוסמת את התו ' אלא רק את התווים <>"&.
מה שאומר שנניח ואתה עושה טופס התחברות עם שאילתה כזאת:
PHP קוד:
$user = htmlspecialchars($_POST['user']);
$pass = htmlspecialchars($_POST['pass']);
$q = mysql_query("SELECT * FROM `members` WHERE `user` = '".$user."' AND `pass` = '".$pass."'");
אני עדיין יוכל להזריק לך דבר כזה:
והשאילתה תהיה:
קוד:
SELECT * FROM `members` WHERE `user` = 'something' AND `pass` = '' OR 'a'='a'
|
כן, sql injection, אז שאלה, למה לא ישר לשים mysql_real_escape_string?
אפשר לוותר על htmlspecialchars? או שזה משהו שונה?
בכללי, אפשר לשים יותר מהגנה אחת? כלומר גם htmlspecialchars וגם mysql_real_escape_string?
תודה רבה!!