Maison  >  Questions et réponses  >  le corps du texte

javascript - Ajax 如何防止数据盗用

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

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

谢谢。

大概就是:

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

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

迷茫迷茫2750 Il y a quelques jours1121

répondre à tous(16)je répondrai

  • 怪我咯

    怪我咯2017-04-10 14:50:03

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

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

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:50:03

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

    répondre
    0
  • 阿神

    阿神2017-04-10 14:50:03

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

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

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

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

    répondre
    0
  • 黄舟

    黄舟2017-04-10 14:50:03

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

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

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

    répondre
    0
  • PHPz

    PHPz2017-04-10 14:50:03

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

    répondre
    0
  • 迷茫

    迷茫2017-04-10 14:50:03

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

    répondre
    0
  • 高洛峰

    高洛峰2017-04-10 14:50:03

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

    répondre
    0
  • 高洛峰

    高洛峰2017-04-10 14:50:03

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

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:50:03

    oauth2

    répondre
    0
  • 迷茫

    迷茫2017-04-10 14:50:03

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

    répondre
    0
  • Annulerrépondre