我目前正在制作一个开源浏览器扩展程序,它会向我的网站发送请求。这可以通过Ajax轻松完成,请求将发送到页面action.php
。
我的网站将使用PHP,现在问题是,如何确保action.php
收到原始扩展程序的请求?我的意思是griefers可以很容易地向服务器发送虚假信息,或者可以使用fork并发送不正确的数据。我想过生成某种类型的令牌,但我想任何人都可以重新创建它。
我该如何预防这种情况?
由于
答案 0 :(得分:0)
我自己有一些经验。我一直在用登录建立一个扩展,最终不可避免地要求扩展中的安全性本身很难。
问题是扩展只是一堆JS和HTML,任何人都可以检查它的值。这意味着任何有足够深度挖掘代码的人都可能会发现如何绕过你内置的任何内容。
我最终得出的解决方案是,扩展本身不能保留任何持久的秘密。具有超时的会话是唯一安全存储的事物。我的扩展程序的实际登录是通过HTTPS上的网站完成的。
如果您尝试在没有任何此类登录的情况下执行此操作,您唯一的办法是尽可能难以确定需要使用可生成服务器可验证令牌的算法发送的内容,然后仅发布缩小的代码到网上商店。
编辑:重读问题并注意到你说你正在做这个开源。如果没有通过HTTPS在Web服务器上进行某种身份验证,您几乎无法阻止那些决定绕过您的保护措施,因为它们将在您的公共存储库中显示。