security - POST 请求 - 检测到 406 安全事件
问题描述
我试图通过在 POST 请求中提交表单值来从 URL 获取计划。为此,我在 node-red 中创建了一个流,它运行了几个星期。但是,现在我开始收到以下安全错误。
406 检测到安全事件
406 检测到安全事件
您的请求已被阻止。请稍后再试。
XrxWwwzlK-WmpFeEbGejEwAAAEo - www.islamiskaforbundet.se - xxx.xxx.xxx.xxx
有趣的是,当我将参数放入 REST 开发工具(例如Postman或Open RESTED)并发布请求时,我得到的数据没有任何问题。
下面是 Postman 生成的 CURL 请求:
curl -X POST \
https://www.islamiskaforbundet.se/wp-content/plugins/bonetider/Bonetider_Widget.php \
-H 'cache-control: no-cache' \
-H 'content-type: application/x-www-form-urlencoded' \
-H 'postman-token: eb701a0e-406e-4851-653f-2b7818c7d455' \
-d 'ifis_bonetider_widget_city=G%C3%B6teborg%2C%20SE&ifis_bonetider_widget_date=2020-05-14'
执行后,它在终端中失败。
有人可能会说服务器可能已经知道了我的 IP 地址并开始阻止所有传入的请求,但是为什么相同的请求在上述工具的 UI 中可以正常工作,但在 CURL 或我的节点红色流中却不行?
有什么我想念的吗?或者如何避免这个安全错误?
解决方案
另一端的服务器有多种方法来识别发出请求的客户端,但最有可能的是它正在查看来自发出请求的客户端的用户代理字符串。
例如,您可以通过添加 Firefox 用户代理标头来使 curl 命令工作:
curl -X POST https://www.islamiskaforbundet.se/wp-content/plugins/bonetider/Bonetider_Widget.php \
-A "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" \
-H 'cache-control: no-cache' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'ifis_bonetider_widget_city=G%C3%B6teborg%2C%20SE&ifis_bonetider_widget_date=2020-05-14'
(我还删除了邮递员令牌)
推荐阅读
- antlr - ANTLR:对 bash 文件进行词法分析,尤其是 heredoc
- python - Selenium,Python:如何设置 Firefox 驱动程序?
- javascript - 如何检查我上传的文件是否与我已有的文件名相同?
- html - 如何修改我的 CSS 以使用 Flexbox 创建大小相等的卡片组件?
- c# - Nest在查询中将字段的第一个字母转换为小写
- c - 不打印c中的比较字符,双向链表
- python - 尝试在 django 中进行迁移/迁移时出错
- python - 如何安排python脚本
- android - 如何检测任何应用程序何时进入前台或在 android 中启动?
- python - 循环功能打印出多个相同的输出而不是一个