现在我有一个对自己起作用的表单。有一些代码可以检查用户是否应该在那里。如果在按提交后对脚本执行操作,有没有办法阻止脚本运行某些代码部分。
我正在考虑使用 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; ?>" />