PHP-一个考试数据库的网站如何防止采集?

发布于 2017-01-20 21:11:58 字数 91 浏览 1203 评论 10

一个考试类的数据库的网站,没有静态页面,辛辛苦苦的导入考试数据,如何防止采集?我们的网站对搜索引擎并不看重。做成图片或pdf可能不行,因为网站为用户提供在线作答的功能。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

甜柠檬 2017-10-08 06:23:35

一般小网站 最靠谱的就是 全都用AJAX调用 动态加载网站内容 最靠谱 方法还简单实用啊!

晚风撩人 2017-10-07 10:19:47

1、限制IP地址单位时间的访问次数

2、屏蔽ip

3、利用js加密网页内容

4、网页里隐藏网站版权或者一些随机垃圾文字,这些文字风格写在css文件中

5、用户登录才能访问网站内容

6、利用脚本语言做分页(隐藏分页)

7、防盗链措施(只允许通过本站页面连接查看,如:Request.ServerVariables(“HTTP_REFERER“) )

8、全flash、图片或者pdf来呈现网站内容

9、网站随机采用不同模版

10、采用动态不规则的html标签

最后看到你说你看重搜索引擎,我觉的你还是忠实起来吧,因为搜索引擎有先入为主的优势,你让搜索引擎先把你的收了,这样对于你的数据也是有保护的

瑾兮 2017-08-28 15:07:39

验证问答机制. :

访问一个考试页面,随机从题库抽出一道问答

归属感 2017-08-18 01:38:59

你可以将试卷分成多页,每次通过ajax从后台读取一页的内容显示到页面上即可。或者是你随机改变页面的模板,每看一份试卷都输入一次验证码。

虐人心 2017-06-19 16:50:49

说下我的思路,分为两步:

(1)在到达内容页之前先做一个准备工作,比如说在session中存放一个值。

(2)然后访问内容页面的时候,先判断session值是否存在,如果不存在 显示404或者跳转到首页或列表页都可以。

重点在于第一步,考试页面肯定是经过其他页面的连接进入的,也就说达到考试页面一定有一个必需经过的页面,那么就在那个必须经过的页面来设置一个验证的值,不要设置在cookie中,一定要存在服务器端。

接下来主要说这个值如何设置:

最好的方式就是使用图片请求,而且最好是写在样式里,最好是一个真实的请求图片地址,例如:

background: url("/images/xxx_background.jpg");

这个不建议使用1像素的图片,最好是将现有样式中的图片改装,而且这个图片有程序输出,
那么就需要rewrite了。

RewriteRule ^images/xxx_background.jpg$ /set_token.php [L]

然后在set_token.php 中 在session中设置一个值,并且输出一张图片:

$_SESSION['TEST'] = time();
header('Content-Type: image/jpg');
echo file_get_contents('/images/xxx_background.jpg');

最后在访问内容页时 判断 isset($_SESSION['TEST']) 就可以了。

你不考虑搜索引擎可以这么弄,因为这样一来蜘蛛就访问不了考试页面了。

但是这么做还有一个问题,就是采集你的内容时,先人为的用浏览器操作一次,成功的浏览到考试页面,然后拿到cookie,在程序采集时发送刚才拿到的cookie就绕过了验证,不过这个问题我也帮你考虑好如何解决了,如果你要使用这个方法,我再补充吧,因为描述比较费力。。。

泛泛之交 2017-06-10 09:40:58

在网站根目录下建立robots.txt来禁止搜索引擎访问
内容为:
User-agent: BadBot
Disallow: /

同时使用HTTP_REFERER来验证访问来源,如果非本站,给出错误提示.

瑾兮 2017-05-18 05:39:41

1.检测来源;2对方问做限制,比如要求登录
3 其实最好的办法是 加验证 每次访问你的页面输入验证码
如果同才可以继续访问;

瑾兮 2017-05-06 11:21:11

采集做的比较多,防采集有时做,据我所知的基本任何网站都能被采集,你可以从规则上去增加别人采集的成本
1)来源URL的判断
2)页面复杂度加大,比如跳转,ajax获取信息
3)登录才能查看
4)访问频率的控制
5)每个查看页面设置验证码,输入正确才能查看
6)根本的,一般的采集不会去采集相关文件CSS,图片,JS,日志里面能查看出来,你可以根据上一段时间的日志封IP,最好自己做一个封IP的系统,考虑IP的释放,和多次封IP的封IP时间加长

1-4有经验的采集人员很容易破解,5-6增加了难度,不过还是能突破,仅供参考!

偏爱自由 2017-02-20 07:06:37

可以随机的从内容中抽出部分文字做成图片。

浮生未歇 2017-02-12 18:54:12

1、用js加载页面。
2、混淆js

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文