ציטוט:
נכתב במקור על ידי 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 זה הפיתרון הכי טוב