限制非成员可以访问的页数

时间:2011-10-22 16:24:57

标签: php session session-variables session-cookies

  1. 限制未登录访问者可以看到的网页数量的最佳方法是什么?我们应该检查$ _SESSION ['id']是否存在,但是如何限制给定时期内的页数?

  2. 搜索引擎消耗大量流量!限制搜索引擎在网站上花费的时间是一种实用的方法吗?例如允许他们每天或每小时只看到x页(因为他们没有记录)。

3 个答案:

答案 0 :(得分:1)

关于你的第一个问题: 使用会话来保留该信息。另外,不要使用像存储在数据库中的自动增量数字这样的ID,将其转换为非常长的字符串无意义的东西,因此有人更改id并登录其他用户帐户的概率非常小......

对于第二个问题,我不知道......抱歉......

答案 1 :(得分:1)

回答2:

如果您不关心SEO,那么您可以使用robots.txt阻止表现良好的搜索引擎。表现不佳的搜索引擎将被视为行为不端的人类用户。

如果您关心SEO,那么您会积极地希望他们访问您的网站!发送4xx状态代码或503s不会有助于将您的内容编入索引。

但是,Google网站站长工具可以要求crawl rate

答案 2 :(得分:0)

在你的框架上添加这样的东西:

if (!isset($_SESSION['sc']))$_SESSION['sc']=0;

然后,在结果页面上添加如下内容:

$_SESSION['sc']++;
$c=$_SESSION['sc'];
if ($c>3) {echo "You have reached your search result limit."; exit;}

第二个问题:设置会话变量以限制搜索引擎爬行过多将失败。机器人不必存储来自您网站的cookie,甚至是会话cookie,这意味着如果机器人不想被跟踪,PHP将无法跟踪机器人。

我认为解决这个问题的方法是确保用户能够在抓取搜索引擎之前存储Cookie。