本文作者:心月

php实现不同访问来源限制页面展示不同内容

心月IT博客 2019-11-28
php实现不同访问来源限制页面展示不同内容摘要:根据不同访问来源展示不同内容,好比访问一些有地区分站的网站。而在 PHP 的常量 SERVER 中包含了 HTTP_REFERER 页面访问来源信息,通过它可以控制不同访问来源展示不同内容。

        根据不同访问来源展示不同内容,好比访问一些有地区分站的网站,广州用户进来看到的是跟广州相关的内容,北京用户进来看到的是跟北京相关的内,看上去似乎很高大上。

        今天心月博主要分享的便是在PHP中实现根据不同访问来源展示不同内容

        其实这个功能实现起来非常容易,研究过浏览器请求“抓包”的伙伴应该很清楚,在每次完成请求时浏览器都会有请求头返回信息,在返回的请求同信息中包含很多信息,其中有一项Referer,这一项所表示的正是访问者从哪个页面发起的请求,也就是标题说的访问来源。

php实现不同访问来源展示不同内容

通过点击页面内的链接访问,返回请求同中有referer

        如果是在浏览器中直接输入链接访问,则在返回的请求头信息中不会有referer。

php实现不同访问来源展示不同内容

浏览器中直接输入链接访问,返回请求头中不会有referer

        而我们实现不同访问来源展示不同内容要用到的也是Referer这一项内容。

具体的实现还是通过简单的代码实例来说明吧:

1、被访问的页面(test.php):

        假设:被访问页面在 www.test.com  下

<?php
if (empty($_SERVER['HTTP_REFERER'])) {
    echo "通过浏览器输入域名访问";
}else{
    echo "通过".$_SERVER['HTTP_REFERER'].'进入本页面';
}

2、在 www.test.com  的 index.html 页面中加入可以访问到上面的被访问页 test.php 的链接:

<h1><a href="/test.php">test页面</a></h1>

3、在 www.a.com 的 index.html 页面中加入可以访问到上面的被访问页 test.php 的链接:

<h1><a href="http://www.test.com/test.php">test页面</a></h1>

下面通过3种方式来访问 test.php 页面:

第一种:浏览器输入链接访问

php实现不同访问来源展示不同内容

第二种:通过 www.test.com/index.html 访问 test.php 页面

php实现不同访问来源展示不同内容

第三种:通过 www.a.com/index.html 访问 test.php页面

php实现不同访问来源展示不同内容

        三种访问方式,虽然访问的都是同一个页面,但展示的内容却完全不一样。这正是我们标题所说的根据不同访问来源限制页面展示不同内容,仅仅一个php常量取值一个if判断就实现了,是不是很简单啊,赶紧试试吧吧。

文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 2019-11-28
若转载请注明原文及出处:https://www.xinyueseo.com/other/530.html

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 0 条评论,人围观)参与讨论