防止基于HTML表单的来源访问CGI脚本
题
我有一个由MODX提供支持的网站,该网站以表格为中心。使用表格的网页访问仅限于注册成员(由MODX处理)。用户填写一些文本条目,选择一个用于上传的文件,然后命中提交。指定的操作是一个subm.CGI脚本 /cgi-bin下的py CGI脚本,该脚本记录了提交的信息并保存文件,并且可以完美执行。
我唯一担心的是 任何 表格(显然),如果它们为该的正确URL指定 <form>
动作属性似乎能够将其表格链接到我的CGI脚本。这意味着他们可以在自己的页面上写下以下内容:
<form action="http://my-site.com/cgi-bin/submit.py">
<!-- blah blah blah -->
</form>
数据将发送到我的CGI表格并处理(不良行为)。
我的问题是: 是否有一种方法可以根据发送数据的HTML表单限制脚本执行?我是否错过了很明显的东西?
我在网上搜索并发现了CSRF的一个稍微相关的问题,但是如果除了标记身份验证以防止未经授权使用CGI脚本的方式有办法,我很乐意听到它。
解决方案
您可以制作一个曾经使用您的表格发送以确保其有效的使用代币(这是您提到的)。
尽管这也可以被抓住并发送。
检查推荐人没有用处,因为它很容易被欺骗或不存在(某些代理过滤)。
简而言之,没有使用令牌来减轻它,您会遇到麻烦。除了网络上的其他所有人都有这个问题:)
不隶属于 StackOverflow