php - 如何保护没有表单的php页面

标签 php security error-handling user-experience protection

我会尝试完成我的网站,并确保用户看不到任何可能以恶意方式帮助他们或给他们带来不良体验的内容。

所以对于我的页面,例如login.php,我检查了请求方法,如果它的帖子继续,如果不是,则继续404等。

但是我有几个页面,它们从数据库中收集一些信息,并将它们包括在页面中。其中一些很大/很复杂,所以我更喜欢这样做以保持整洁。

如果用户直接访问这些页面而不是仅仅包含这些页面,我该如何将用户重定向到404?

谢谢。希望你知道我的意思! :)

最佳答案

我认为您可以使用一些简单的技巧。

您要在其中包含文件的地方,而不是简单地

include('db.php')

做:
$including = 'yes';
include('db.php');

并在db.php的第一行中:
if (!isset($including)) {
  //show 404
  exit;
}
//db job

因此,如果包含它,它会完成工作;如果直接调用它,则会显示404。

或者:

第一个技巧(和DEFINE)可能更安全,但是如果您不想更改包含该文件的每个文件,

只是在db.php中:
if (basename(__FILE__) == basename($_SERVER['SCRIPT_FILENAME'])) {
  //show 404
  exit;
}
//db job

关于php - 如何保护没有表单的php页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20691116/

相关文章:

php - Codeigniter 错误日志不包括文件名

php - 无法显示带有数据 URI 的 BLOB 图像

php - DB2 错误字符串列、主变量、常量或函数的不当使用

iphone - iOS 如何加密和解密二进制文件?

javascript - 如何彻底处理提取中的预期错误?

xcode - 在 React Native 应用程序中为 Fabric crashlytics 日志添加导入文件后,在 Xcode 中找不到 RCTLog.h 文件错误

php - 查询数据库并将每行的两列放入数组中?

PHP如何计算数组的值?

.net - 在组件中存储某些内容是否安全?

javascript - 需要找出恶意 Javascript 是如何注入(inject)到我的 header.php WordPress 主题文件中的