我有一个形式,该表格已发布到外部API。有一个称为customer_token的参数,该参数作为输入字段传递。它用于API的身份验证,每个客户都会分配一个令牌。在Firefox的Firebug中可以看到输入字段(即使它是一个隐藏的字段)。

我该如何隐藏?

选项 按照我最初想的那样使用JavaScript

我认为在提交表单之前使用JavaScript在运行时间创建该输入字段并立即删除字段将起作用,但该字段仍然会暂时出现。因此,即使一个人无法手动获得它,恐怕爬行者或蜘蛛(我不知道确切的术语 - 但是某些自动脚本)可能会得到客户的令牌。有更好的解决方案吗?表单提交后,将显示相同的表格。

按照Ikke的建议使用一次令牌概念

我不确定它将如何工作? API需要正确的客户令牌值来处理任何请求。因此,即使要生成一次令牌并返回,也必须发送与客户令牌的请求。这样,任何人都可以看到我的客户令牌值,他们还可以发送请求以获取一次令牌并使用它。那么它如何解决问题呢?

解决查看 如何将表单发布到我的服务器,然后向API发布,而不是直接发布(出于安全原因)?谢谢,桑多普

有帮助吗?

解决方案

这是 不是 可能的。 Firebug只是在其实际状态下读取DOM,因此,即使在以后的阶段中添加它,仍然可以检索它。

这种安全方式称为 通过晦涩难懂的安全 并且是一种非安全性。您将不得不另一种方式解决它,例如让服务器代替请求。

您让用户将表格提交给服务器。然后 卷曲, ,您可以使用正确的用户代码呼叫Web服务。

其他提示

我不认为这可能是恐怕的。

如果通过JavaScript插入该元素,则仍然会看到该元素在观看DOM树时。如果此输入暴露了安全漏洞,则是服务器端代码的作业来验证/修复它。

有关API的更多详细信息可能会帮助某人更详细地回答这个问题。

我希望这有帮助

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top