我正在构建一个表格,用户可以在其中输入IBAN,BIC和个人数据等敏感数据以及护照号码等。用户可以编辑这些信息,然后更新他们的数据。正在保存在数据库中。
到目前为止,我已经完成了:
$_GET
参数,如下所示:function escape($string = ''){
return htmlentities(strip_tags(trim($string)), ENT_QUOTES, 'UTF-8');
}
<input type="hidden" name="token" value="<?php echo Token::generate(); ?>">
,每次加载页面时,我都会生成一个像这样的唯一哈希:public static function generate(){
return $_SESSION['token_form'] = md5(uniqid());
}
并在表单提交上检查提交的令牌是否与会话令牌匹配,以防止CSRF攻击。
所有表单输入都是文本,除了3个日期字段和我使用上述函数转义的所有字段。我没有必填字段,所以我不需要验证来检查是否为空。在文本字段中我希望文本和日期我只期望日期弹出日历,并且只能选择日期而不是类型。
是否有任何其他可能的攻击或事情我可以预防或注意?