防止表单输入中的恶意数据和攻击

时间:2016-07-20 09:40:04

标签: php forms pdo

我正在构建一个表格,用户可以在其中输入IBAN,BIC和个人数据等敏感数据以及护照号码等。用户可以编辑这些信息,然后更新他们的数据。正在保存在数据库中。

到目前为止,我已经完成了:

  1. 使用预准备语句防止SQL注入?作为每个输入的占位符和bindValues。
  2. 转义查询(也已准备好)中使用的所有$_GET参数,如下所示:
  3. function escape($string = ''){
        return htmlentities(strip_tags(trim($string)), ENT_QUOTES, 'UTF-8');
    }
    
    1. 我有一个隐藏的输入:<input type="hidden" name="token" value="<?php echo Token::generate(); ?>">,每次加载页面时,我都会生成一个像这样的唯一哈希:
    2. public static function generate(){
          return $_SESSION['token_form'] = md5(uniqid());
      }
      

      并在表单提交上检查提交的令牌是否与会话令牌匹配,以防止CSRF攻击。

      所有表单输入都是文本,除了3个日期字段和我使用上述函数转义的所有字段。我没有必填字段,所以我不需要验证来检查是否为空。在文本字段中我希望文本和日期我只期望日期弹出日历,并且只能选择日期而不是类型。

      是否有任何其他可能的攻击或事情我可以预防或注意?

0 个答案:

没有答案