我正在修改一个通过webview使用webapp的
Android应用程序.目前,webapp的代码库是用ColdFusion编写的 – 所以所有会话管理都是用CF完成的. webapp中有一些钩子强制Android应用程序执行本机功能,有时会调用PHP中的外部脚本.
这些PHP脚本将数据发布给他们(userid,friendid等) – 目前PHP脚本只是确保发布有效数据,然后在数据存在且有效时处理请求.
我正在寻找方法来增加这些PHP脚本的安全性,以防止机器人/恶意用户向这些页面发布虚假数据 – 此时不会阻止任何人发送正确的用户ID /友元并让脚本执行.
会话管理将是第一道防线,但由于webapp使用不同的语言,我不能使用它 – 有时PHP脚本完全在不同的域上(虽然相同的服务器).
我考虑的另一种方法是注册创建用户令牌以与用户关联,并将其保存在Android方面 – 然后在请求这些PHP脚本时发送用户标识和令牌.并验证该用户的令牌是否与远程数据库匹配 – 这将使得更难以猜测恶意用户的发布凭据.显然不是最好的,因为令牌存储在本地并通过电线,但我离题了.
问题是有没有更好的方法来保护这些单独的PHP脚本不被执行,而不使用会话管理?我的令牌想法是否有意义?
注意:我可以在任何/所有请求上使用SSL.
如果你能完成任务,我确切地知道你需要什么.您的API需要实现OAuth2.0.
OAuth可以为您提供的是一种安全的方式,可以将信息传入和传出您的服务,同时确保所有机密信息都保密,并且只有正确的人才能访问该信息.它为每个用户提供了独特的签名.
Facebook,Google,Twitter等使用OAuth为开发人员提供了一种安全的方式来访问信息,同时让每个人都不会做他们不应该做的事情.
OAuth支持ColdFusion,Java,PHP,C#,dotNet,VB.net,LIST,Javascript,Perl,Python,Ruby等.