View Single Post
ישן 14-05-06, 13:34   # 1
nevo
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 1,217

nevo לא מחובר  

[PHP - מאמר( מתחילים )] בעיית מספרים ושליפת נתונים!

זהו המאמר הראשון שלי, מקווה שתרחיבו את הידע שלכם איתו.
הרבה פעמים באתר שלך או אחר, משתמשים בשיטת GET כדי לשלוף רשומה מהמסד לדוגמא:
קוד:
page.php?Id=528 .
עכשיו אתרים לוקחים את ערך הId ואיתו שולפים את אותה רשומה מהמסד אבל עכשיו אם נחשוב על זה, נגיע למסקנה מאוד חכמה, שאם יש משתמש חכמולוג שישנה את הId ל
קוד:
page.php?Id=blah -
תיהיה לנו בעיה בשליפה מהמסד וזה יחזיר שגיאה או יותר חמור SQL INJECTION
לדוגמא
קוד:
page.php?Id='or'"
לחשוב כמה בעיות זה יכול לעשות, אני חשבתי על שיטה קטנה שיכולה בקלות לפתור את הבעיה והיא
INTVAL.
מהו INTVAL - זוהיא פונקציה שמחזירה את הערך המספרי ממחרוזת.
עכשיו אם לדוגמא יש לנו מחרוזת
קוד:
blah blah blah
אז הערך המספרי שלה הוא 0.
והינה הקוד:
PHP קוד:
$val = (isset( $_GET['Id']))?intval$_GET['Id']):0
עכשיו למה דווקא 0, הרי זה ברור שלא יכול להיות Id של 0 במסד!
אז בעזרת mysql_num_rows אפשר להוציא פלט שהרשומה לא נמצאה!

אני מקווה שמאמר קטן זה הרחיב לכם את המידע!
שלכם, נבו.

Last edited by nevo; 14-05-06 at 13:38..
  Reply With Quote