Php 使用referer运行脚本

Php 使用referer运行脚本,php,.htaccess,referrer,Php,.htaccess,Referrer,我想知道是否有可能根据推荐网站执行脚本。例如,如果用户从Facebook访问我的站点,那么我希望脚本被激活,但是如果用户通过谷歌搜索访问该站点,那么脚本将不会运行。这可能吗?您应该能够测试$\u服务器['HTTP\u REFERER']以查看用户是否来自facebook并有不同的行为。您应该能够测试$\u服务器['HTTP\u REFERER']以查看用户是否来自facebook并有不同的行为。这是可能的。请记住,referer可能会被欺骗,因此您永远不应该根据它的值来做与安全相关的事情。这是可

我想知道是否有可能根据推荐网站执行脚本。例如,如果用户从Facebook访问我的站点,那么我希望脚本被激活,但是如果用户通过谷歌搜索访问该站点,那么脚本将不会运行。这可能吗?

您应该能够测试
$\u服务器['HTTP\u REFERER']
以查看用户是否来自facebook并有不同的行为。

您应该能够测试
$\u服务器['HTTP\u REFERER']
以查看用户是否来自facebook并有不同的行为。

这是可能的。请记住,referer可能会被欺骗,因此您永远不应该根据它的值来做与安全相关的事情。

这是可能的。请记住,referer可能被欺骗,因此您永远不应该根据其值执行与安全相关的操作。

您是指服务器端脚本还是客户端脚本

从客户端,您可以通过
document.referer
访问referer(是的,带有双“r”,即使相应的HTTP头拼写错误)。例如:


您是指服务器端脚本还是客户端脚本

从客户端,您可以通过
document.referer
访问referer(是的,带有双“r”,即使相应的HTTP头拼写错误)。例如:


我会这样做:

if (array_key_exists('HTTP_REFERER', $_SERVER) === true)
{
    // this will give you something like google.com or facebook.com
    $domain = str_ireplace('www.', '', parse_url($_SERVER['HTTP_REFERER'], 'PHP_URL_HOST'));

    // check if there is any referer script you want to execute
    if (is_file('path/to/scripts/' . $domain . '.php') === true)
    {
        // include the path/to/scripts/google.com.php for instance
        include('path/to/scripts/' . $domain . '.php');
    }
}

我会这样做:

if (array_key_exists('HTTP_REFERER', $_SERVER) === true)
{
    // this will give you something like google.com or facebook.com
    $domain = str_ireplace('www.', '', parse_url($_SERVER['HTTP_REFERER'], 'PHP_URL_HOST'));

    // check if there is any referer script you want to execute
    if (is_file('path/to/scripts/' . $domain . '.php') === true)
    {
        // include the path/to/scripts/google.com.php for instance
        include('path/to/scripts/' . $domain . '.php');
    }
}