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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 20-02-08, 22:25   # 1
FuZuL
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 354

FuZuL לא מחובר  

[php] חסימת הזרקות של get

מה הדרכים לחסום הזרקות דרך הGET?
עד כה עבדתי רק עם הצפנות שאני יצרתי..
ואם אפשר דוגמאות של זה..
__________________
PHP קוד:
1337 (_)83||-|4><><0|
  Reply With Quote
ישן 21-02-08, 07:26   # 2
DanielS
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Jan 2007
מיקום: ישראל
הודעות: 2,429

DanielS לא מחובר  

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

וכדו'.
וכל אלו יעזרו לך באבטחה.
__________________
Daniel
Email : daniel [AT] smartwd [DOT] com

  Reply With Quote
ישן 21-02-08, 09:56   # 3
hi_sorie
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: רחובות
גיל: 38
הודעות: 1,339

hi_sorie לא מחובר  

ציטוט:
נכתב במקור על ידי FuZuL צפה בהודעה
מה הדרכים לחסום הזרקות דרך הGET?
עד כה עבדתי רק עם הצפנות שאני יצרתי..
ואם אפשר דוגמאות של זה..
הדרך לדעתי הכי טובה לחסום הזרקות זה :
לקחת במערך את כל השאילתא בכתובת למנוע ' " > < ואחרי זה למנוע כל מיני מילים לא רצוייות כמו union ואלה ...
  Reply With Quote
ישן 21-02-08, 13:12   # 4
reXtea
חבר מתקדם
 
reXtea's Avatar
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
מיקום: באר שבע
גיל: 31
הודעות: 374
שלח הודעה באמצעות MSN אל reXtea

reXtea לא מחובר  

כמה טיפים,
א. עזוב הצפנות... זה מבלבל את הגולשים.
ב. במידה ואתה רוצה רק ערכים מספריים נגיד כמו ID תשתמש בפונקציה intval...
ג. פשוט תעשה בדיקה אם הכתובת מכילה כל מיני תווים לא חוקיים ואז תציג שגיאה...
ד. תסנן כל מיני תווי HTML וכו'.

בהצלחה :]
__________________
Amir fridman
-----------------------
Professional website developer.
xhtml, css, javascript, xml, ajax, php, mysql
  Reply With Quote
ישן 21-02-08, 13:18   # 5
DanielS
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Jan 2007
מיקום: ישראל
הודעות: 2,429

DanielS לא מחובר  

ציטוט:
נכתב במקור על ידי hi_sorie צפה בהודעה
הדרך לדעתי הכי טובה לחסום הזרקות זה :
לקחת במערך את כל השאילתא בכתובת למנוע ' " > < ואחרי זה למנוע כל מיני מילים לא רצוייות כמו union ואלה ...
לדעתי טעות גדולה של הרבה מתכנתים היא שהם מאפשרים הכל וחוסמים חלק.
צריך לעשות בידיוק ההפך.
לחסום הכל ולאפשר מה שאתה צריך.

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

תחשוב על זה ככה :
מה היית מעדיף ?
לנעול דלת אחת ולשכוח לנעול אחרת ולהשאיר חלון גדול פתוח.או לנעול את כל הדלתות ולפתוח רק את זה שאתה יוצא ממנה .
__________________
Daniel
Email : daniel [AT] smartwd [DOT] com

  Reply With Quote
ישן 21-02-08, 13:45   # 6
hi_sorie
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: רחובות
גיל: 38
הודעות: 1,339

hi_sorie לא מחובר  

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

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

תחשוב על זה ככה :
מה היית מעדיף ?
לנעול דלת אחת ולשכוח לנעול אחרת ולהשאיר חלון גדול פתוח.או לנעול את כל הדלתות ולפתוח רק את זה שאתה יוצא ממנה .

לא קשור ...
במערכת דינאמית אתה לא יכול לשלוט על הערכים של GET בגלל זה טוב יותר להשתמש ב POST ...
ב POST סיננתי 19 אלף האקרים נובים.
אבל מה שאתה אומר זה לחסום את כל ה GET ולהשתמש רק במה שאתה צריך ...
ואם תוך כדי השימוש במערכת הוא שולח נתונים ב GET כמו כתובת או בא לו להגיד delete ? אז מה ? לא לאפשר...

מה שכן ... צריך להריץ את כל הערכים שקיבלת כך :

PHP קוד:
     foreach ($_GET as $value
ולחסום

PHP קוד:
    $value htmlspecialchars($valueENT_QUOTES)
    
$value urlencode($value
  Reply With Quote
ישן 21-02-08, 14:19   # 7
DanielS
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Jan 2007
מיקום: ישראל
הודעות: 2,429

DanielS לא מחובר  

ציטוט:
נכתב במקור על ידי hi_sorie צפה בהודעה
לא קשור ...
במערכת דינאמית אתה לא יכול לשלוט על הערכים של GET בגלל זה טוב יותר להשתמש ב POST ...
ב POST סיננתי 19 אלף האקרים נובים.
אבל מה שאתה אומר זה לחסום את כל ה GET ולהשתמש רק במה שאתה צריך ...
ואם תוך כדי השימוש במערכת הוא שולח נתונים ב GET כמו כתובת או בא לו להגיד delete ? אז מה ? לא לאפשר...

מה שכן ... צריך להריץ את כל הערכים שקיבלת כך :

PHP קוד:
     foreach ($_GET as $value
ולחסום

PHP קוד:
    $value htmlspecialchars($valueENT_QUOTES)
    
$value urlencode($value
הכוונה בחסימה של הכל זה נגיד אתה רוצה לאפשר שיוכנסו רק מילים מסויימות נגיד רק blabla אז ככה :
PHP קוד:
<?php 
if($_GET['action']=="blabla"){ 
 echo 
"בלה בלה בלה"
}else 
 echo 
"דף רגיל";
?>
ככה שאם לא מוכנס בלה בלה אז זה מדפיס דף רגיל
__________________
Daniel
Email : daniel [AT] smartwd [DOT] com

  Reply With Quote
ישן 21-02-08, 16:27   # 8
hi_sorie
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: רחובות
גיל: 38
הודעות: 1,339

hi_sorie לא מחובר  

ציטוט:
נכתב במקור על ידי DanielS צפה בהודעה
הכוונה בחסימה של הכל זה נגיד אתה רוצה לאפשר שיוכנסו רק מילים מסויימות נגיד רק blabla אז ככה :
PHP קוד:
<?php 
if($_GET['action']=="blabla"){ 
 echo 
"בלה בלה בלה"
}else 
 echo 
"דף רגיל";
?>
ככה שאם לא מוכנס בלה בלה אז זה מדפיס דף רגיל

הבנתי אותך עכשיו על מה דיברת ...
אבל זה ריאלי רק כאשר אתה מפנה מידע לדף חדש ב GET בתוך התיכנות לא משהו שקשור לצד הצופה...
  Reply With Quote
ישן 22-02-08, 09:57   # 9
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

מה? לסנן SELECT? לסנן '?
שלחתי הודעה, "ואוו, הוא אמר 'חתול'", וקיבלתי באן.

אין לי עברית במחשב ליום, אז שלחתי הודעה, "Can you select the cookie?", וקיבלתי באן.


DanielS הסביר באופן מצויין.

אל תחסום מילים סציפיות במערכת שאתה בונה, ואני אתן עוד סיבה אחת לדוגמא - ואם מחר יצא פאטץ ל-MYSQL עם פקודה חדשה? אבל זה לא קשור.

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

hi_sorie: אני לא בטוח לגבי ה-19,000 האקרים, ובמידה ואתה עדיין בטוח,
עלה על דעתך שאולי ה-19,000 האלה הם גולשיים שנכנסו לדף שבכותרת יש delete?
וגם אם אתה בטוח עדיין, 19,000? אתה בטוח שלא הגזמת קצת?
  Reply With Quote
השב

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

כלים לאשכול
תצורת הצגה

חוקי פירסום
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. הזמן כעת הוא 14:31.

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