php后数据安全


php post data security

我在php中进行了两次安全检查,以验证html表单post-data的完整性:

1) 我在page1的隐藏字段中传递一个md5随机令牌,并在处理器页面中检查它

2) 由于我只处理产品ID(数字),因此在处理器页面中,我使用函数is_numeric 逐键检查整个数组

你认为这可以防止对我状态的攻击吗?或者我还能做更多的事情吗?

只要你有一个可以在两端验证的咸味哈希,它和SSL是唯一的,它可能是尽可能安全的。这正是CodeIgniter用于安全性的方法。

在大多数情况下,我使用这种简单的构造。前端侧:

<script type='text/javascript'>
function rrtyMui() {
    document.getElementById('TellFriendFHash').value = "<?= md5(date("Y-m-d H:i:s")) ?>";
    return true;
}
</script>
<form method="post" action="/some-action/" name="rform" onsubmit="rrtyMui(); return validateRForm(this);">
<input type="hidden" id="TellFriendFHash" name="TellFriendFHash" value="">
....
</form>

在服务器端,我验证_POST("TellFriendFHash")。如果它的值为空,那么您将处理一些脚本(robot)。在80%的情况下,它运行良好。在其他20%的情况下,我使用类似Captcha的东西。