View Single Post
ישן 13-11-06, 17:53   # 11
tnadav
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 216

tnadav לא מחובר  

ציטוט:
נכתב במקור על ידי RS324
בכדי לבדוק אם זה לא מהשרת שלך אתה יכול לבדוק לפי ה REFER...
החלטתי לעשות לך חיים מאד קלים ולתת לך קוד שעובד ב 100 %

בבקשה :

PHP קוד:
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST')
{
    if (
$_SERVER['HTTP_HOST'] OR $_ENV['HTTP_HOST'])
    {
        
$http_host = ($_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : $_ENV['HTTP_HOST']);
    }
    else if (
$_SERVER['SERVER_NAME'] OR $_ENV['SERVER_NAME'])
    {
        
$http_host = ($_SERVER['SERVER_NAME'] ? $_SERVER['SERVER_NAME'] : $_ENV['SERVER_NAME']);
    }
    if (
$http_host AND $_SERVER['HTTP_REFERER'])
    {
        
$referrer_parts parse_url($_SERVER['HTTP_REFERER']);
        
$http_host preg_replace('#^www\.#i'''$http_host);
        
$http_port intval($referrer_parts['port']);
        
$refhost $referrer_parts['host'] . (!empty($http_port) ? ":$http_port" '');

        if (!
preg_match('#' preg_quote($http_host'#') . '$#siU'$refhost))
        {
            die(
'We Dont take POST requests (only from localhost) From other hosts.');
        }
    }

חשוב לציין שתוכנות כמו Norton Internet Security מוחקות את הרפרר וקל מאוד לזייף אותו

ככה ש- Session זה הפיתרון הכי טוב
__________________
"אני לא מעצב גרפי... אני לא פלאשר תותח... בטח שלא מנכ"ל של חברת בניית אתרים, כעיקרון אסור לי להיות מועסק.. אבל אני... מתכנת ב-PHP , וגם, לא ממש מציעה.." (יצא לי מוזר משהו...חח)
  Reply With Quote