הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [SQL] הגנה מפני הזרקה... (https://hosts.co.il/forums/showthread.php?t=65804)

ShLooK 01-08-08 03:12

[SQL] הגנה מפני הזרקה...
 
דבר ראשון,
mysql_real_escape_string לא עוזר לי מכיוון שאני משתמש במחלקת הPDO...
השאלה שלי איך אני יכול לאבטח שאילתות בעזרת PDO?
ניסיתי את ה PDO::quote אבל אני מקבל את השגיאה הבאה:
קוד:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'lt' in 'where clause'' in C:\xampp\htdocs\mvc2\model\membership.class.php:17 Stack trace: #0 C:\xampp\htdocs\mvc2\model\membership.class.php(17): PDO->query('SELECT UserID F...') #1 C:\xampp\htdocs\mvc2\controller\user.php(19): membership->register(''<table>&...', 'e10adc3949ba59a...', 'e10adc3949ba59a...', ''Shasy.Mail@gma...', ''Shasy.Mail@gma...') #2 C:\xampp\htdocs\mvc2\application\router.class.php(84): userController->register() #3 C:\xampp\htdocs\mvc2\index.php(33): router->loader() #4 {main} thrown in C:\xampp\htdocs\mvc2\model\membership.class.php on line 17
תודה!

ShLooK 01-08-08 17:56

אוקיי, פתרתי את הבעיה עם הפונקצייה הבאה:
mysql_escape_string
שלא דורשת חיבור כפרמטר...

בניה 01-08-08 19:24

אם אתה כבר עם PDO תנסה להשתמש ב
http://il2.php.net/manual/en/pdo.prepare.php

sagi_b 02-08-08 10:46

ב-PDO אכן משתמשים ב-$db->quote() או ב-prepared statements.

כדי לדעת מדוע קיבלת את השגיאה הנ"ל צריך לראות את הקוד.


כל הזמנים הם GMT +2. הזמן כעת הוא 16:59.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ