我会尝试完成我的网站,并确保用户看不到任何可能以恶意方式帮助他们或给他们带来不良体验的内容。
所以对于我的页面,例如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/