我需要处理一个使用 Jekyll 构建的静态网站的查询表单。
查询表单向处理该请求的另一个域上的 PHP 应用程序提交 JSONP 请求 (GET)。
由于表单是静态的,是否可以防止 CSRF?
我注意到 PHP Slim 框架的 CSRF 中间件仅保护 POST、PUT 和 DELETE 方法,而不是 GET。
如果我在静态站点中有一个脚本,在每个页面上构建表单,加载从服务器请求的数据(cookie 值、csrf token 以及字段值等),这样可以吗?
感谢您的宝贵时间
最佳答案
无需防范 CSRF,因为在当前用户的上下文中提交表单不会获得任何好处 - 如果攻击者想要在您的网站上提交表单,则无需“跨站点” ...他们只需提交即可。
听起来您正在寻找 CAPTCHA防止机器人提交表单(如果这就是您真正想要的?)。
关于javascript - 防止来自带有查询表单的静态网站(即 Jekyll 网站)的 JSONP 请求的跨站请求伪造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19490931/