许多文件开头的 PHP —"Defined or Exit"?

标签 php

我一直在检查一些 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 文件中的 FilesMatchDeny from All。最好将整个包含目录设置为不可访问。

关于许多文件开头的 PHP —"Defined or Exit"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8189834/

相关文章:

php - 如何使用 TinyMCE、jQuery 和 PDO 提交 HTML 表单? (完整代码)

php - Elasticsearch 和 Codeigniter (PHP)

javascript - 读取 JSON 对象并将其转换为 Javascript 数组

php - 文本输入卫生和安全

php - UTF-8贯穿始终

javascript - 使用ajax作为json将多维数组发送到php并接收html文本以显示在div中

php - 试图创造交易历史

php - 我可以用 javascript 循环 php SELECT 名称吗

php - 此查询中的 SQL 语法错误在哪里?

php - 为什么 Web 服务中的尾部斜杠如此重要?