搜索
首页后端开发php教程javascript - Ajax 如何防止数据盗用

前端打算用 ajax 来获取数据,可是怕辛辛苦苦输入的数据,被别人通过分析 ajax 返回的数据直接移花接木盗走。

是通过验证的防止防止这种行为的发生吗?可是目前网站是不需要注册即可使用,所以应该如何防止?

谢谢。

大概就是:

前端 -> 通过 ajax 获取数据 -> 后台 -> 返回数据

如何防止别人伪造 ajax 获取数据

回复内容:

前端打算用 ajax 来获取数据,可是怕辛辛苦苦输入的数据,被别人通过分析 ajax 返回的数据直接移花接木盗走。

是通过验证的防止防止这种行为的发生吗?可是目前网站是不需要注册即可使用,所以应该如何防止?

谢谢。

大概就是:

前端 -> 通过 ajax 获取数据 -> 后台 -> 返回数据

如何防止别人伪造 ajax 获取数据

这么说吧,你的目的就是提供给某些人一些数据,那么不让这些人抓你的数据就违反你最初的目的
这就像 我给你十块钱,我又不想让你拿这十块钱

我之前也是在这上面纠结过,采取种种措施,最后达到的效果不过是增大抓取的难度而已
这就和客户端加密一样,无论你怎么加密混淆,前提都是建立在一个可信任的信道上的,当信道不可信时,啥都没用

你网站不需要登录,那就默认了所有内容是免费提供给所有人的,直接浏览数据和调用 API 获取数据有区别么?
就算不提供 Ajax , 从网页上直接爬走是一样的啊,骚年.

“目前网站是不需要注册即可使用,所以应该如何防止”。
“别人伪造ajax获取数据”

首先你得知道如何区分 所谓的“别人”。但看问题里并没有说明。

看楼主的需求,应该是一种内容型的网站,需求应该就是怕别人剽窃自己的内容。
做任何事情都有成本,一个安全原则是提高对方的作案成本,付出的比得到的多很多,以达到让对方放弃作案的目的。

有个比较常见的方法是,将你们的内容(数据)在后端生成带水印的图片,ajax加载。至少别人不能直接用。

如果不進行身份驗證,怎樣防範都是徒勞的。因爲想要阻止「別人」,首先得識別「別人」。

身份驗證可以不是顯式的登錄,而是 Google 式的追蹤。要做到即便換瀏覽器換 IP 清空瀏覽器緩存、cookies 照樣能識別同一用戶。

能做到這些,再限制調用數據的頻率,對可疑者強制輸入驗證碼,基本就是 Twitter、Google 這些大公司的水準了。

楼主所说的这个数据终究要在某些合法页面被显示的,所以用什么方法也不能避免被盗用。只是盗用的成本问题

我想没有好办法。如果想拿到,是肯定能拿到的。

1、前端显示页面的时候后端输出一个唯一的签名;
2、Ajax 从前端发起请求到后端获取数据时需传递效验参数,后端再效验签名
不知道这个思路能否满足你的需求(不过这个思路的签名依旧可以被获得)

简单的话可以在每个ajax请求里加个sessionID。后端根据 sessionID 判断是否返回数据。但是没有办法完全避免爬虫来抓数据。

oauth2

每次发起ajax请求的时候验证一个token (加密串)即可

服务器判断referer, 如果referer的域名是自己的域名, 就返回, 不然就不返回。

Access-Control-Allow-Origin这个header就够了

网页是公开的,数据就是公开的,任何验证都是徒劳,都是可以被 robot 模仿的。

可能唯一有点作用的,就是对数据进行处理,比如小说网站就不传文字,
而是传由文字生成的图片,这是一个可以参考的例子。

服务器生成一个token(比如 md5(key+ip+date),这个规则只有管理员知道)与html一起下发给用户,然后由用户浏览器发起ajax请求,同时附加之前服务器生成的token,服务器判断来源网站域名+token正确后给用户发回数据。
之前为了防止投票作弊器,想到了这个办法。

一句话,只要是能看到的,就是可以拿到的,所以不用纠结了

這是可以徹底解決的,給大家一個思路,就是把文件放在瀏覽者的內存,至於瀏覽器緩存方面,可以利用overwrite緩存。讓盜竊者得到一個無用的文件,您還可以在文件內指出他由哪個IP取得這個文件,嚇唬他們一下,讓他們以後對偷竊沒信心。我以前在香港寫了很多程序,時而會被人偷了,所以研究了這個方法,希望大家不要把辛苦工作得來的成果讓小人們奪去。

我看到有个叫做_影xx_的,在这里骂人,佩服喔,他妈妈的辛辛苦苦凑大他,却连几行字都理解不到,大家说他懂干啥呢?

什么权限呀,许可证呀,给访问者种种难度只是排斥而已,做了前端就是想让所有人看,像_影xx_这种无能之辈都能看。这样才有趣,大家说对不对?
后端谁都不能看,这是对知识产权的保护。调用的src可以临时生成,也可以生成多次,也可以临时移除,缓存由我来控制,明白吗?在不明白就发邮件给我,我私下详细告诉你。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么读取字符串后几个字符php怎么读取字符串后几个字符Apr 22, 2022 pm 08:31 PM

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!