首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当页面对自身执行操作时,停止运行某些代码

当页面对自身执行操作时,停止运行某些代码
EN

Stack Overflow用户
提问于 2012-10-03 20:17:30
回答 1查看 199关注 0票数 1

现在,我有一个表单在自己操作。有一些代码可以检查用户是否应该出现在那里。有没有一种方法可以阻止脚本运行某些代码段,如果它在按下submit之后对自身进行了操作。

我正在考虑使用一个会话变量来检查,但我完全搞糊涂了:p

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-03 20:20:01

好的。如果你是自提交表单操作,只需检查$_POST是否为空(假设你正在向表单发布)

代码语言:javascript
复制
if (!empty($_POST))
{
...
}

当我使用PHP时,我在表单模板中使用了一个input-element,如下所示:

代码语言:javascript
复制
<input type="submit" name="submit" id="submit" value="Login" /></td>

..。在PHP页面中,我检查帖子是否是自己提交的,如下所示:

代码语言:javascript
复制
// if page is not submitted to itself echo the form
if (!isset($_POST['submit']))
{
...
}

但这并不安全。如果您想获得自提交的全部好处,您应该尝试通过用随机令牌挑战客户端,并要求客户端重复该令牌来对抗Cross-site request forgery (XSRF)

例如,在表单中嵌入一个隐藏的输入,如下所示:

代码语言:javascript
复制
<input type="hidden" name="nonce" value="<? echo $NONCE_VALUE; ?>" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12708305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档