چک کردن Refere

سلام . من یه سایتی طراحی کردم که صفحه اولش ایجکس هست و می خوام refere رو چک کنم که فقط از آدرس خود سایت باشه کسی از جای دیگه وارد شد بهش پیغام خطا بده .
این تابع رو نوشتم که روو لوکال کار می کنه اما روو سرور کار نمی کنه .
به نظر شما این تابع مناسب هست یا نه ؟ راه حل بهتری هم اگه دارید لطف کنید و بفرمایید . ممنون :rose:

PHP:
function referer()
{
    define('PATH', "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']). '/');

    if($_SERVER['HTTP_REFERER'] == PATH || $_SERVER['HTTP_REFERER'] == PATH."#" || $_SERVER['HTTP_REFERER'] == PATH."index.php" || $_SERVER['HTTP_REFERER'] == PATH."index.php#")
    {
        return true;
    }
    else
    {
        return false;
    }
}
#################
if(!referer())
{
    error2("خطا : اطلاعات از جاي ديگري نمي تواند وارد شود !");
    @exit;
}
 
آخرین ویرایش:

P.H.P

Member
Undefined index: ظاهر نمیشه؟


error_reporting 8191

PHP:
error_reporting(E_ALL ^ E_NOTICE);
 
آخرین ویرایش:

P.H.P

Member
به این صورت کار کن دقیق تره
PHP:
$ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;

error reporting رو هم 8191 کن واسه develop دقیقتره
 

جدیدترین ارسال ها

بالا