【发布时间】:2017-09-27 20:47:22
【问题描述】:
伙计们,我有一个问题..
我已经创建了 2 个 PHP 文件..
CreateAdmin.php ----------> 有一个表格要填写
Save.php ----------------> 通过 jquery Ajax 调用以插入数据库。
代码运行良好。但问题是我可以直接访问 Save.php 文件。当我访问每个访问时,数据库管理表中会创建一个空行。
如何预防。
其实我有个主意。当 ajax 调用一个会话变量时应该创建。 Save.php的顶部应该有代码如果没有会话变量页面应该重定向..
可以吗..如果可以的话会影响访问速度吗。
【问题讨论】:
-
Save.php 应该在添加之前检查数据。没有 get\post 变量没有添加到数据库,没有空行
-
至少检查
$_SERVER['HTTP_X_REQUESTED_WITH']是 xmlhttprequest,设置并使用 CSRF 令牌到X-TOKEN标头中,并将代码更改为 POST 并检查$_SERVER['REQUEST_METHOD']=='POST'