我一直在检查一些 PHP 源代码,我经常发现以
开头的文件defined('__someconstant__') or exit();
我知道如果以前的文件定义了 __someconstant__
,这会阻止直接访问该文件,但后来我想知道这是否真的有必要......不存在(甚至是非基于 PHP 的) ) 一种更简洁的方法,无需在每个文件中引入这些额外代码?
最佳答案
Isn't there (even non-PHP based) a cleaner way of doing it without introducing this extra code in every file?
存在此类片段表明代码结构错误,即代码在全局范围内自动执行。您不应该在纯函数/类中包含此 或 exit();
代码。那里会是多余的。
确实执行潜在危险操作的代码首先不应通过网络访问。 or exit;
方法是一种解决方法。但是,它应该始终伴随 .htaccess
文件中的 FilesMatch
和 Deny from All
。最好将整个包含目录设置为不可访问。
关于许多文件开头的 PHP —"Defined or Exit"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8189834/