繁体   English   中英

如何确保从PHP中的特定JavaScript页面发布变量

[英]How to make sure that a variable is posted from a specific JavaScript page in PHP

有些任务只能通过JavaScript完成。

我的问题是,在从JavaScript执行任务后,JavaScript代码必须将变量发送到PHP页面,据我所知,它只能通过post,get和cookie来完成,这意味着用户可能会伪造变量并提交。

我想确保PHP页面接收的变量来自JavaScript页面。 到目前为止没有运气。 解决办法是什么?

你是对的,这肯定是个问题。

白名单/验证来自客户端的输入可以通过确保该值至少在可接受值的特定范围内来解决您的一些问题。

您关心的具体用例是什么? 如果我们对您的情况有更多了解,也许我们可以帮助您。

如果您要描述您的具体方案以及您需要避免哪种类型的数据输入,我们可以更好地帮助您。

通常,您应该始终尝试验证客户端(JavaScript)上的数据,以便向用户提供更好的反馈(例如突出显示所需的表单字段留空)。 认为这只是对用户的礼貌。

无论如何,您永远不应该信任来自浏览器的数据,并在服务器上进行所有与安全相关的验证,而不关心使用哪种客户端软件来收集数据(即您的JavaScript代码或某些硬编码) GET / POST数据)。

正如其他答案所述,白名单是你唯一可以做的事情 - 如果有人故意攻击你的网站,则不要求你获得的任何内容都是有效的。

由于攻击者不需要使用浏览器来执行Bad Things,因此无需客户端验证或cookie。

您可以在提供页面时生成真实性令牌。 然后检查响应是否包含相同的真实性令牌。 一个拉轨道

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM