הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות > תכנות - מדריכים, code snippets

   
|!|

 
 
כלים לאשכול תצורת הצגה
Prev הודעה קודמת   הודעה הבאה Next
ישן 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
 

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

Tags
אבטחה, מדריך למתחילים, מדריך php


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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