是否可以阻止特定网站(例如:facebook.com)发送特定的帖子请求?
有什么方法可以“禁止”Facebook发布到特定网址吗?
我正在尝试阻止“https://www.messenger.com/ajax/mercury/delivery_receipts.php?dpr=2”请求
答案 0 :(得分:0)
您永远不能阻止第三方发出HTTP请求(好吧,在连接到HTTP服务器之前没有阻止它们在网络级别,这限制了您通过IP地址检测请求(见下文))
您可以尝试检测该第三方并以不同方式处理该请求(例如,立即返回403错误)。
检测第三方的主要方法是:
但是,一般情况下,对URL的GET请求应该是无害的。如果您试图阻止他们制作它,可能是因为请求有副作用(例如从数据库中删除某些内容)。
如果是,那么解决方案是要求POST请求。 HTTP规范说GET requests should be safe。
答案 1 :(得分:0)
您可以在客户端阻止AJAX请求。
首先,您需要覆盖http://quickstart.cloudera:8888/about/
。在此函数中,使用提供的参数调用原始XMLHttpRequest.prototype.open
函数。然后存储对此open
的{{1}}函数的引用。最后覆盖此send
的{{1}}函数。
在新的XMLHttpRequest
函数中,比较提供给send
函数调用的方法和post参数。如果它通过比较,则使用原始参数调用原始XMLHttpRequest
函数。如果它没有通过,则不执行任何操作,您已成功阻止该请求。
send
以下演示中的其余代码代码用于演示如何使用它,并且它确实有效。为简单起见,我使用了ECMAScript 2015语言规范中引入的一些功能,但这些功能都不是完成此任务所必需的。
open