我对Android安全性有一个具体的问题。
首先,我描述了我的问题: 我想通过PHP连接到数据库。但是每个人都可以从我用来连接PHP文件的apk中提取链接。这导致了问题:每个人都可以通过调用此链接来操纵我的数据库。我想阻止SQL注入。
我正在寻找这个问题的解决方案。 我的第一个想法,也许是最简单的想法是创建一个完全私有的String,用于验证PHP文件的访问权限。但我不知道,我怎么能保存这样的字符串而不会有从代码中提取的风险(例如,使用Strings.xml,或者只是在我的代码中编写它)。 有没有一个简单的方法,在我的APK中使一个字符串完全私有(所以没有人可以提取它)? 或者有任何人更好的解决方案?
答案 0 :(得分:1)
对于对您的应用进行逆向工程并找出“秘密”网址没有真正的安全性。
我建议您使用某种用户身份验证来保护该网址。无论哪个客户端试图访问它,都应该保护网址。
答案 1 :(得分:0)
存储在客户端中的所有内容都可以被检索/欺骗/等。在对数据库运行命令之前,您需要让客户端对服务器进行身份验证。
您需要保护数据库免受未经授权的访问。现在听起来你只是隐藏了URL,正在使用“通过默默无闻的安全性”。这是不好的做法。只有时间才能找到你不想找到它的人。它甚至不需要进行逆向工程,只需浏览路由器日志即可。
此外,SQL injection是指有人将恶意代码注入由未正确清理代码的代码制作的SQL查询中。此攻击在经过身份验证的会话中运行。这是你需要注意的事情,但这不是你在问题中描述的风险。