我有一个发布到外部API的表单.有一个名为customer_token的参数,它作为输入字段传递.它用于API的身份验证,并为每个客户分配一个令牌.输入字段在Firefox的Firebug中可见(即使它是隐藏字段).
我怎么隐藏它?
选项 使用我最初想到的javascript
我认为在提交表单之前使用javascript在运行时创建输入字段并立即删除该字段将起作用,但该字段将暂时出现.因此,即使一个人无法手动获取它,我担心爬虫或蜘蛛(我不知道确切的术语 - 但是一些自动化脚本)可能会获得客户令牌.有更好的解决方案吗?表单提交后,仍会显示相同的表单.
使用Ikke建议的一次性令牌概念
我不确定它会如何起作用?API需要正确的客户令牌值来处理任何请求.因此,即使生成一次性令牌并返回,也必须发送带有客户令牌的请求.这样,任何人都可以看到我的客户令牌值,他们也可以发送请求获取一次性令牌并使用它.那怎么解决这个问题呢?
已解决 检查如何将表单发布到我的服务器然后发布到API,而不是直接发布(出于安全原因)? 谢谢,Sandeepan
这是不是可能的.Firebug只是在它的实际状态中读取DOM,所以即使它在稍后阶段添加,它仍然可以被检索.
这种安全方式通过默默无闻称为安全性,是一种非安全性.你必须以另一种方式解决它,比如让服务器代替请求.
您让用户将表单提交给服务器.然后使用curl,使用正确的用户代码调用webservice.