PHP帖子中的漏洞?

时间:2014-01-30 17:51:01

标签: php security post cross-domain

由于可以预先形成跨域php帖子,我相信这意味着获得访问我的源代码的人可以创建自己的域并发布任何值。有没有办法禁用跨域发布,还是我需要检查帖子中的所有值以确保它们有效?

2 个答案:

答案 0 :(得分:2)

它与另一个域无关;任何地方的客户都可以发布您的服务器将接受的任何值。这就是为什么Web的主要规则之一永远不会信任用户提供的数据:始终在服务器端进行检查。 \

以下是关于这个主题的一些有价值的阅读:

What's the best method for sanitizing user input with PHP?

What are the best PHP input sanitizing functions?

答案 1 :(得分:1)

您最好创建一个随机哈希,例如:md5(time().rand(1000,9999))

  1. 将其置于隐藏的输入值中 喜欢:    <input name='token' type='hidden' value='<?php echo $hash ?>' />
  2. 并设置$_SESSION['token'] = $hash;
  3. 并且,每次处理表单时,请检查它:

    if($_SESSION['token'] !== $_POST['token']) die('invalid request');
    

    这样,只有从您的域名提交表单的用户才能成功提交。