View Single Post
ישן 05-08-06, 22:24   # 1
WebProject
מ.תיכנות
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אשדוד
הודעות: 3,070
Send a message via Skype™ to WebProject

WebProject לא מחובר  

[מדריך] PHP - אבטחת מידע

שוב שלום לכם,

אבטחת מידע

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

מדוע לאבטח?

המטרה העיקרית באבטחה היא מניעה מ"האקרים" לחדור אל מסדי הנתונים, ושיבוש פעולות האתר.

רוב הפריצות מתבצעות דרך שליחת נתונים מן המשתמש, לדוגמא, בטופס הרשמה, ברצונכם שמשתמש האתר יכתוב את שמו המלא, אבל מפני שלא אבטחתם, הוא יכול להכניס תווים אחרים ואף תגי HTML.

רוב הפריצות מתבצעות דרך מידע הנשלח אל מסד הנתונים DB, ואתר שאינו מאובטח לרוב יהיה מטרה קלה לפורצים.

מה ניתן לעשות?

עליכם פשוט לחשוב טוב, איפה באתר ישנן שליחות מידע דינאמי דרך המשתמש?

לרוב נעשות שליחות מידע דרך תיבות טקסט (POST), ודרך כתובת האתר (GET), ובמדריך זה נלמד לאבטח בבסיסיות את שני דרכי העברת מידע אלו.

לדוגמא!:

אתם מעוניינים לשלוף מן המסד, כתבה, שקבלת מספרה האוטומטי(ID), מתבצעת דרך GET.

כתובת אתר לדוגמא:

PHP קוד:
index.php?act=articles&ID=
עד עכשיו, הכל פשוט, הact הינו מחרוזת (string), והID הינו מספר שלם (INTEGER).

לדוגמא שליפת נתונים:

PHP קוד:
$query mysql_query("SELECT * FROM `articles` WHERE ID = '{$_GET['id']}"); 
אין בעיות? לא? אז ככה, שזו טעות חמורה, בעצם נתתם לגולש אפשרות לכתוב כל ID שהוא רוצה, כולל מחרוזות.

משתמש יכול פשוט לשנות את הID, למשהו אחר,

PHP קוד:
index.php?act=articles&ID=hey i am hacking 
כמובן שאף אחד אינו רוצה שלגולש תהייה האפשרות לבצע דבר כזה, ולכן, עלינו לוודא, האם המחרוזת שקיבלנו במתודה GET, הינו מספר שלם, ניתן לוודא בעזרת הפונקצייה is_numeric.

לדוגמא:

PHP קוד:
if(!is_numeric($_GET['ID'])){
    echo 
'נא הקש ID חוקי';
}
else{
 
// mysql

די פשוט, ודי יעיל, אבל מה בידי מידע הנשלח דרך טפסים?

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

mysql_real_escape_string והיא אמורה לעזור לנו להתמודד עם תווים שעלולים לפגוע בשאליתות, ובמידע הנשלח מן המשתמש.

זה הכל לבינתיים, אני מקווה שזה יעזור, ותקחו את זה לתצומת לבכם.


-טל =]
__________________
כושר קרבי \ טיפים לגיבושים



פורטל רעל - צבא וכושר קרבי
  Reply With Quote