我不应该在哪里使用IF(!Defined(‘ABSPATH’)){Exit;}?

时间:2018-11-16 作者:Alt C

我认为这是防止直接访问的最好方法。。

<?php if (!defined(\'ABSPATH\')) { exit; }?>
我在我所有的php文件上都使用了这个。。它会制造问题吗?有关于WordPress主题的文件我不应该使用它吗?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

该代码的要点是,如果直接在WordPress上下文之外访问文件,则防止执行文件中的任何PHP。ABSPATH 是由WordPress定义的,因此,如果在访问文件时丢失了它,则可以判断它没有在WordPress上下文中运行。

因此,您唯一不会使用它的地方是您确实需要直接访问的任何文件中。WordPress主题或插件中可能不应该有任何这样的文件。最常见的示例可能是处理AJAX请求的文件,但在WordPress中,您应该使用admin AJAX。php或RESTAPI。

结束

相关推荐

Contact Form Security

在Wordpress中构建我自己的联系人表单。除了典型的电子邮件etc验证和可能的验证码之外,我还需要考虑任何其他安全步骤。我没有向数据库发送任何数据。