!
也想出现在这里? 联系我们
广告位

jQuery保护网站不被仿站复制盗用

1.利用仿站工具或类似仿站工具之类原理的爬取工具,批量的抓取页面到本地,适合页面类型多的网站,要想杜绝仿站工具及类似工具的爬取就需要在服务器端做好设置,允许正常的用户(浏览器 UA)以及正常的搜索引擎蜘蛛(搜索蜘蛛 UA,例如百度 Baiduspider)访问网站的页面,禁止非法的 UA,比如仿站工具前来爬取页面内容,所以只要配置好禁止爬取的 UA 即可:

  1. #以下是nginx的配置细节,添加到server内
  2. location /{
  3. if ($http_user_agent ~* "MSIE 5.0|msnbot-media|oBot|YandexBot|Mail.RU_Bot|Applebot|SEOkicks-Robot|DotBot|YunGuanCe|Exabot|spiderman|Scrapy|HttpClient|Teleport|TeleportPro|SiteExplorer|WBSearchBot|Elefent|psbot|TurnitinBot|wsAnalyzer|ichiro|ezooms|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$"){
  4. return 403;
  5. }

上面的 UA 都是被禁止访问的,至于返回码至于是 403 还是 404 或者其他非正常的都可以自定义。上面只是判断来访的 UA,如果仿站类工具可以非常的逼真的模拟用户浏览器,那么该方法无效了。目前 teleport 的 Pro 版本是被禁止抓取的,另外一款叫仿站小工具的也成功阻挡了。至于 teleport 其他版本是否可以需要实际测试,并将对应合适的 UA 添加上去。
2.纯人工去复制页面,这样的方法适合于页面类型少,页面简单。所以只要在页面上做好相应的防护措施即可:

  1. //JS代码贴到页面头部,需要jquery
  2. $(document).ready(function() { //屏蔽鼠标右键
  3. $(document).bind("contextmenu", function(e) {
  4. return false;
  5. });
  6. });
  7. $(function() {
  8. document.addEventListener('keydown', function(e) {
  9. e = window.event || e;
  10. var keycode = e.keyCode || e.which;
  11. if (e.ctrlKey && keycode == 83) { //屏蔽Ctrl+s 保存页面
  12. e.preventDefault();
  13. window.event.returnValue = false;
  14. }
  15. if (e.ctrlKey && keycode == 85) { //屏蔽Ctrl+u 查看页面的源代码
  16. e.preventDefault();
  17. window.event.returnValue = false;
  18. }
  19. if (keycode == 123) { //屏蔽F12
  20. e.preventDefault();
  21. window.event.returnValue = false;
  22. }
  23. if (e.ctrlKey && e.shiftKey && keycode == 73) { //屏蔽Ctrl+shift+i 屏蔽调出控制台 和F12一样
  24. e.preventDefault();
  25. window.event.returnValue = false;
  26. }
  27. });
  28. });

当有人想复制页面内容的时候发现快捷键不好使了,然后想右键看源代码,也不好使,用快捷键 ctrl+u 调出源码也不行,调取控制台也不行,最后发现没什么好办法了。当然如果觉得不放心,可以再最后再加一道锁:

  1. //当页面被整个盗取到本地的时候,本地打开一片空白,需要jquery
  2. function authentication() {
  3. var suffix = "info",
  4. main="wang",
  5. red="chao",
  6. dot = ".";
  7. var d = (main+red).toString() + dot + suffix;
  8. if (window.location.host.indexOf(d) < 0) {
  9. $("body").remove();
  10. return false
  11. }
  12. return true
  13. }
  14. $(function() {
  15. if (!authentication()) return; // 执行授权方法,检查一下当前页面域名
  16. });
  17. //以及相同的一个思路
  18. //如果当前浏览器域名不是 wangchao.info 将跳转到 wangchao.info 对应的页面
  19. if (document.location.host != "wangchao.info") {
  20. location.href = location.href.replace(document.location.host,'wangchao.info');
  21. }

好了,以上的方法就是从复制角度出发找出屏蔽的方法,以上的 JS 代码可以再做一次加密来增加破解者的破解难度。如果有新的发现,会在当前页面做更新。经过以上几个步骤已经能很好的保护网站页面的了,当然想完全保护资源和代码在没有第三方软件的前提下是没可能的。

给TA打赏
共{{data.count}}人
人已打赏
前端学习

jQuery外链新窗口打开

2024-8-16 13:41:10

前端学习

纯CSS粘住固定底部的5种方法

2024-8-16 13:41:25

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索