[英]Prevent direct access PHP
我有2个脚本。 那是 :
有时有人打开直接链接到process_registration.php的链接,那么我该如何防止呢?
Process_registration.php函数用于保存从registration.html输入获得的数据。
任何想法 ?
只是另一种方法:
if (empty($_POST)) {
exit("Direct access not allowed");
}
对象名称更加灵活。 为了提高安全性,您应该将其放在表单中:
<input type="hidden" value="9957374" name="hiddenvalidate" />
并在您的脚本中:
if (!isset($_POST['hiddenvalidate']) || $_POST['hiddenvalidate'] != 9957374) {
exit("Direct access not allowed");
}
您可以检查当前请求是否为POST类型(如果使用表单)
if($_SERVER['REQUEST_METHOD'] == 'POST')
您还可以检查是否设置了所有必需的变量。
您可以在process_registration.php中使用$_POST
数组,例如:
if(!isset($_POST['yourvariable'])){
//Redirect to registration page
}
您也可以使用PHP Session 。 如果未设置会话,则将用户重定向到注册页面。
我喜欢Joomla
处理此问题的方式。
在Joomla中的每个php页面上,您将看到以下代码:
// No direct access
defined('_JEXEC') or die; // it's a config setting
仅顶层页面中包含此变量。 如果直接打开所有其他文件,则将其关闭,从而防止任何意外的误用/数据丢失。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.