View Single Post
ישן 09-07-10, 10:30   # 4
Hagaibl
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2010
הודעות: 214

Hagaibl לא מחובר  

ציטוט:
נכתב במקור על ידי ~The_Sultan~ צפה בהודעה
יפה, מדריך שיכול לעזור מאוד
ותן קצת קרדיט על ה-SQLI..

ובקשר ל-$_SERVER['HTTP_REFERER'], זה לא ממש מומלץ להשתמש בזה סתם ככה, כי זה יכול לגרום בעיות אם למשל שינית דומיין או אם אתה עובד עם כל כתובות אחרות שיכולות להשתנות.
בגדול עדיף אבטחה עם מסד או קוד CAPTCHA, אבל אם בכל זה מחליטים להשתמש בכתובת המפנה,
אני ממליץ להשתמש בפונקציה הזו:
http://php.net/manual/en/function.parse-url.php
אבל כאן עדיין יש חור, במקרה שהבנאדם ישים על השרת שלו את אותה הכתובת, ולכן, הנה קוד סופי:

PHP קוד:
global $config;

$ref $_SERVER['HTTP_REFERER'];
$current_ref "index.php?act=form&op=fill";
$divide parse_url($ref);
if ((
$divide['scheme']."://".$divide['host'] != $config['site_url']) && ($divide['path'] != $current_ref))
    die(
"False referrer."
ובמשתנה הגלובלי $config, צריך להיות משהו כזה:
PHP קוד:
$config['site_url'] == "http://google.com"
מה פתאום, כל הרעיון זה שהמתכנת ישמור איפשהו את המקור ואז ישווה לHTTP REFFER.
אני נותן טיפים לא מדריך חח.

ציטוט:
נכתב במקור על ידי nitsanbn צפה בהודעה
כתבה טובה כל הכבוד על ההשקעה!
מספר המלצות:



יש עוד כמה אי דיוקים קטנים (למה להשתמש ב INTVAL אם עשית בדיקה שהערך הוא נומרי? מה גם ש is_numeric מקבל סטרינגים כמו 10E10 ומאשר אותם בתור INT)
זה מה שידוע לי על CSRF, אם היה לי יותר ידע הייתי משתף אותו אבל אין לי ידע מושלם עוד בו, אני נתקלתי בו פעם אחת בחיי זה הכל.
לגבי השאר זאת אבטחה בסיסית לחלוטין, אין לאף אחד שימוש כאן לעשות באבטחה מושלמת אנשים כאן בונים דברים פשוטים ואני נותן טיפים לאנשים שמתחילים רק. אם זאת הייתה קהילה של מתכתנים שבונים מערכות יקרות שצריכות אבטחה יותר טובה הייתי משחרר כבר פונקציות הגנה.
__________________
בברכה,
חגי בלוך גדות.

Last edited by Hagaibl; 09-07-10 at 10:33..
  Reply With Quote