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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=76390)

HOLD 08-07-09 04:42

אבטחה - SQL
 
איך אני יכול לאבטח את השאילתות שלי יותר?

ככה הן נראות עכשיו:

PHP קוד:

$result=mysql_query("SELECT dText,fText FROM KK_Data WHERE Name='".mysql_escape_string($_GET['name'])."'"); 

יש דרך לעשות אותן יותר "קשיחות"?

תודה.

ועוד משהו,
איך עושים שה-php לא יציג שגיאות של sql ?

stel222 08-07-09 13:32

קודם כל תשנה את הפונקציה mysql_escape_string ל mysql_real_escape_string

HOLD 08-07-09 14:05

ציטוט:

נכתב במקור על ידי stel222 (פרסם 726589)
קודם כל תשנה את הפונקציה mysql_escape_string ל mysql_real_escape_string

תודה, שיניתי.

יש עוד?

Shay Ben Moshe 08-07-09 14:22

אמממ בעקרון אין הרבה.
אני אישית הרבה פעמים מטפל במספרים לדוגמה בעזרת is_numeric (מערכים בעזרת is_array וכו'), אני בודק בעזרת mysql_num_rows שכמות התוצאות שונה מ0 ולפעמים עוד דברים בהתאם למקרה.

AlmogBaku 09-07-09 23:48

PHP קוד:

$q="SELECT * FROM `tbl` WHERE `str`='" mysql_real_escape_string($str) . "' AND `int1`=" intval($int1) . " AND `float1`=" floatval($float1) . ";";
$r=mysql_query($q); 

דוגמא להכל פחות או יותר.

אדיר 10-07-09 00:35

ציטוט:

נכתב במקור על ידי Baku (פרסם 726919)
PHP קוד:

$q="SELECT * FROM `tbl` WHERE `str`='" mysql_real_escape_string($str) . "' AND `int1`=" intval($int1) . " AND `float1`=" floatval($float1) . ";";
$r=mysql_query($q); 

דוגמא להכל פחות או יותר.

האמת שאתה לא אמור להפוך את הקלט למספר כמו שעשית פה, אתה אמור לוודא שהוא מספר.

AlmogBaku 10-07-09 09:41

ציטוט:

נכתב במקור על ידי xPerfection (פרסם 726929)
האמת שאתה לא אמור להפוך את הקלט למספר כמו שעשית פה, אתה אמור לוודא שהוא מספר.

תלוי בצרכים מן הסתם..
אבל יש הרבה פעמים שבהם אם המשתמש מנסה לרמות אז מבחינתי זו "בעיה שלו".

ותעיף את ה"מאבטח אתרים" מהחתימה שלך.

Valred | OTM Group 10-07-09 11:13

ציטוט:

נכתב במקור על ידי Baku (פרסם 726961)
ותעיף את ה"מאבטח אתרים" מהחתימה שלך.

חחחחחחחחחחחחח
קרעת אותי

אדיר 10-07-09 12:01

ציטוט:

נכתב במקור על ידי Baku (פרסם 726961)
תלוי בצרכים מן הסתם..
אבל יש הרבה פעמים שבהם אם המשתמש מנסה לרמות אז מבחינתי זו "בעיה שלו".

ותעיף את ה"מאבטח אתרים" מהחתימה שלך.

לא תלוי בשום צרכים, אתה אמור לאמת את הקלט ולא לשנות אותו.
ולמה בדיוק שאני אעיף את זה?

Shay Ben Moshe 10-07-09 13:20

ציטוט:

נכתב במקור על ידי xPerfection (פרסם 726985)
לא תלוי בשום צרכים, אתה אמור לאמת את הקלט ולא לשנות אותו.
ולמה בדיוק שאני אעיף את זה?

1+

אם הפלט לא תקני צריך להחזיר ארור למשתמש/להעביר לעמוד אחר או לטפל בזה בדרך כלשהי.
לא לשנות את הבעיה...


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

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