保护PHP文件不被直接访问

Oma*_*bid 5 php wordpress

我一直在GitHub上阅读一些WordPress PHP代码,我发现作者(高级WordPress开发人员)将这行代码放在每个文件的开头:

defined('ABSPATH') or die("Cannot access pages directly.");
Run Code Online (Sandbox Code Playgroud)

这如何保护文件不被直接访问?黑客不能只定义常量ABSPATH然后加载文件吗?

另外,为什么直接访问危险?

Roc*_*mat 7

这个常量可能是在主WordPress PHP文件中设置的,所以如果没有设置,那么你就不会访问主页面了.

常量不是用户可以修改的,它们在代码中,只能通过编辑PHP文件来更改.因此,如果黑客可以将此设置为常量,那么您将遇到更大的问题,因为这将涉及他实际编辑您的PHP文件.

直接访问可能并不危险(不要引用我),但这是毫无意义的.直接访问WordPress插件(例如)将无法执行任何操作,因为插件需要通过WordPress运行.