我有 2 个脚本。那是 :
- 注册.html
- process_registration.php
有时有人直接打开链接到 process_registration.php,那么我该如何防止呢?
Process_registration.php 功能是保存从registration.html 输入的数据。
任何的想法 ?
我有 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')
您还可以检查是否设置了所有必需的变量。
您可以$_POST
在 process_registration.php 中使用数组,例如:
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
只有顶级页面包含此变量。所有其他文件,如果直接打开,将关闭,从而防止任何意外误用/数据丢失。