|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
חבר מתקדם
|
איך לשפר את האבטחה באתר?
כרגע זה הקוד שמאחזר נתונים:
PHP קוד:
קראתי איפשהו על איזה שיטה שאתה מכניס משתנים עם סימני שאלה, כדאי לשנות לזה? מישהו מכיר? תודה. |
![]() |
![]() |
# 2 |
חבר על
|
מה זה $link?
ואתה יכול לעשות דבר כזה לדעתי: PHP קוד:
|
![]() |
![]() |
# 3 | |
חבר מתקדם
|
ציטוט:
(אם מישהו רוצה להוסיף או משהו הוא מוזמן.) |
|
![]() |
![]() |
# 4 |
תודה על תרומתך.
|
$id = intval($_GET['id']
יהפוך אותו להיות מספרי ואם יכניסו שם שטויות הוא יהפוך להיות 0
__________________
|
![]() |
![]() |
# 5 |
אחראי פורום
|
בקוד שהבאת יש חור אבטחה רציני.
header לא מבטל את פעולה הסקריפט. הדפדפן יכול "להתעלם" מה-Location, וכמובן - העיבוד ימשך. הדרך שבה אתה מזהה היא בסדר לחלוטין. אפשר גם להשתמש ב-intval, אבל שימוש ב-ctype_digit והפנייה לדף שגיאה נחשב עדיף - רק לא לשכוח לשים exit; / die(); אחרי ה-header |
![]() |
![]() |
# 6 |
חבר מתקדם
|
עדיף לך לבדוק בדרך הזו:
PHP קוד:
|
![]() |
![]() |
# 7 |
משתמש - היכל התהילה
|
אני רואה שתי אופציות חכמות, אחת להמיר את המשתנה לint (עדיף על ידי casting ולא על ידי intval, הרבה יותר מהיר) מה שחוסם לחלוטין את האופציה להכניס משתנה לא תקין. האופצייה השנייה היא לוודא תקינות בעזרת is_int וזהו.
אופציה 1: PHP קוד:
PHP קוד:
|
![]() |
![]() |
# 8 | |
חבר מתקדם
|
ציטוט:
PHP קוד:
תודה לכל המגיבים. |
|
![]() |
![]() |
# 9 |
חבר על
|
ההבדל בין הפעולה exit ל-die() זה ש-exit מסיימת את פעילות הצד שרת ו-die() מסיימת אותה עם אפשרות לביצוע פעולה כלשהי. אני חושב שאתה יכול לעשות פשוט ככה:
PHP קוד:
|
![]() |
![]() |
# 10 | |
חבר מתקדם
|
ציטוט:
ואם אני משתמש ב-or die() זה שקול לזה שאני ארשום die() שורה מתחת? או שיש בזה חור אבטחה? |
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|