热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网站上有没有有效的方法可以在一定程度上防止用户手动构造传送请求而不经过浏览器?

当然没有十全十美的方法。只是在一定程度上。比如浏览器端cookie验证啦等等。。
当然没有十全十美的方法。
只是在一定程度上。
比如浏览器端COOKIE验证啦等等。。

回复内容:

当然没有十全十美的方法。
只是在一定程度上。
比如浏览器端COOKIE验证啦等等。。

忍不住来回答个:

简单而言:没有

HTTP协议所传输的内容都是公开的明文,COOKIE、referer都只是HTTP头中的一个字段,很容易伪造 —— 比如随便找个python爬虫的教程,都能轻易地加上这两个字段。

当然,如果加了COOKIE和referer校验后,不懂python爬虫之类的人员就可以pass掉了。


感觉LZ问题没问到点子上。很好奇为什么要防用户手动构造请求呢?
猜测有以下2个原因:

  1. 页面性能不行,怕被人刷挂了

  2. 一些消耗资源的操作,比如注册用户,怕被人反复操作,比如注册了N多小号

其实,这两个问题都很好解决:

  1. 性能不行就解决性能问题,比如使用页面缓存;再不济基于IP做防刷控制

  2. 加验证码,加短信校验码

之前看一个人公众号推送了一个很有趣

http://mp.weixin.qq.com/s?__biz=MzA3NDM0ODQwMw==&mid=210665223&idx=1&sn=587b738b3dae0222f14feb509ce1b60f&scene=5&srcid=1010upLcP9NfCZkROIjmeJZl#rd

COOKIE是要有的
像是laravel之类的服务端框架为了防止csrf攻击会为每位访问者生成csfr字符串,在提交表单时必须携带此串并进行验证。
参考资料:

http://laravel.com/docs/master/routing#csrf-protection

或者可以在服务端验证HTTP Referer字段

你搜索一下csrf就知道了

浏览器会自动执行js,curl执行不了,可以用js操作COOKIE来判断是否为浏览器。具体的验证规则可以自定义了

的确,没有办法绝对限制,只是能增加爬取得难度而已。

可以用session?

token机制

从我与各大网站斗智斗勇的经历来看,方法只有两个,一个是验证码,一个是限制IP。

token的话,浏览器之内无解。但是用爬虫,可以先get表单的页但是用爬虫,可以先get表单的页面,然后把token截取出来,用在第二次的post上面。

token + 限制来源

csrf可以做到

推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • Python开源库和第三方包的常用框架及库
    本文介绍了Python开源库和第三方包中常用的框架和库,包括Django、CubicWeb等。同时还整理了GitHub中最受欢迎的15个Python开源框架,涵盖了事件I/O、OLAP、Web开发、高性能网络通信、测试和爬虫等领域。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • Python 可视化 | Seaborn5 分钟入门 (六)——heatmap 热力图
    微信公众号:「Python读财」如有问题或建议,请公众号留言Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seabo ... [详细]
  • 求职屡屡碰壁,埋头苦学5个月斩获16000元offer,终于懂了没有人能随随便便成功
    求职屡屡碰壁,埋头苦学5个月斩获16000元offer,终于懂了没有人能随随便便成功-我以前一直认为,只要有耐心,有决心,有信心,就可以在社会上立足,干出一番事业。但是经历了社会的 ... [详细]
  • Python入门后,想要从事自由职业可以做哪方面工作?1.爬虫很多人入门Python的必修课之一就是web开发和爬虫。但是这两项想要赚钱的话 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • PHP输出缓冲控制Output Control系列函数详解【PHP】
    后端开发|php教程PHP,输出缓冲,Output,Control后端开发-php教程概述全景网页源码,vscode如何打开c,ubuntu强制解锁,sts启动tomcat慢,sq ... [详细]
  • 用PHP连接MySQL代码的参数说明【PHP】
    后端开发|php教程PHP,连接,MySQL,参数后端开发-php教程代码是这样的:大图标网站源码,怎么在vscode中调试css,ubuntu退出命令行,系统默认开tomcat, ... [详细]
  • 《51CTO编辑部的外传》——剧本篇(下)阴天MMA咏春电动车时隔《51CTO编辑部的外传》——剧本篇(上)的出炉ÿ ... [详细]
author-avatar
帅哥大香蕉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有