现在我有一个对自己起作用的表单。有一些代码检查用户是否应该在那里。如果在按下提交后对其自身进行了操作,是否有办法阻止脚本运行某些代码部分。
我正在考虑使用 SESSION 变量进行检查,但我脑子里一片混乱:p
有任何想法吗?
当然。如果您是自行提交表单操作,只需检查是否$_POST
为空(假设您要发布到表单)
if (!empty($_POST))
{
...
}
当我使用 PHP 时,我在表单模板中使用输入元素,如下所示:
<input type="submit" name="submit" id="submit" value="Login" /></td>
...在 PHP 页面中,我检查 POST 是否像这样自行提交:
// if page is not submitted to itself echo the form
if (!isset($_POST['submit']))
{
...
}
虽然这并不安全。如果您想获得自提交的全部好处,您应该尝试通过使用随机令牌挑战客户端并要求客户端重复它来对抗跨站点请求伪造 (XSRF)。
就像在表单中嵌入隐藏的输入一样:
<input type="hidden" name="nonce" value="<? echo $NONCE_VALUE; ?>" />