我想知道使用admin ajax是否安全。php用于前端的ajax请求。
在前面使用admin-ajax.php安全吗?
我想知道使用admin ajax是否安全。php用于前端的ajax请求。
将它作为协议用于AJAX请求从根本上讲并没有什么不安全之处。
那么它安全吗it depends
这取决于AJAX请求处理程序在另一端做了什么,以及是否安全地构建它。
通过以下方式构建安全的AJAX处理程序admin-ajax.php
取决于您的处理程序所做的工作和执行的检查,例如nonce、能力检查、验证、清理等
记住,您需要自己实施所有安全检查
安全vs什么
其他选项:主题或插件中的独立文件,或根WP文件夹中的独立文件,这是一个安全漏洞,因为现在即使主题或插件被禁用,也有一个始终处于活动状态的独立端点。此外,它需要引导WP,迫使您编写文件,使其只能在特定位置工作,否则它将不知道需要加载的文件在哪里,从而使其变得脆弱。它还需要包含一组常量,以便WordPress正确引导。
此外,您还必须自己实现所有检查,额外的好处是该文件只能在一个位置工作。做到这一点非常困难,需要与核心贡献者同等的技能。大多数开发人员都不知道他们可能需要做的一些事情,包括但不限于:
输入验证
此外,没有提供调试支持,因此如果出现问题,您唯一的帮助就是PHP错误日志。
导致重大问题的独立文件的一个很好的示例是timthumb.php
.
页面模板这需要创建一个具有特定URL的页面,然后将其配置为使用页面模板。
此外,这需要管理AJAX和独立文件所需的所有检查。从好的方面来看,您不需要引导WordPress。
REST API端点使用专门为javascript请求构建的API。此外,它更容易使用。您可以指定端点采用的参数、需要的功能等,如果您告诉它预期的内容,它将为您完成所有转义、验证和清理。
如果您没有满足请求所需的要求,它会告诉您在响应中做错了什么,例如,它会告诉您不能做什么。除非您将其编程为,否则管理AJAX不会。
此外,它还可以发现端点(但仅限于能够使用端点的用户),提供过滤和覆盖其他插件的机制,并避免其他选项的所有缺点。
那么它安全吗
这要看情况而定,这个问题本身太简单了。但是如果你想要一个正确的安全答案,那么不,没有什么可以被认为是百分之百安全的,这是不可能的。