使用PHP在Objective-C应用程序和MySQL之间进行安全通信

时间:2014-05-21 15:56:29

标签: php mysql objective-c

我在一个目标c中构建了一个应用程序,它使用PHP和METHOD-GET在DataBase(MYSQL)中执行用户注册。 有什么方法让我知道收到的参数是通过应用程序而不是通过计算机或手动来的? 我的意思是,任何人都可以发现运行PHP代码并嵌入的服务器的地址 一些手动参数如下:reg.php?name = someuser& pass = password。

2 个答案:

答案 0 :(得分:0)

简而言之,是的,这是一个安全漏洞。

通过$ _POST方法

解决此安全漏洞

如果您要使用$_POST方法,namepass将在文档的标题中传递;在URL中未检测到。然后,您的Web应用程序可以测试是否存在这些变量,这样您就可以拒绝尝试从Obj-C应用程序外部访问脚本的用户。

更好的是,还在$_POST方法中包含安全令牌或哈希参数,并测试Web应用程序中是否存在该参数。除此之外,在允许其输入数据库之前,请不要忘记清理输入,作为额外的安全预防措施。

修复进一步的安全问题&漏洞

  • Web应用程序可能使用HTTPS。
  • 应检查是否存在其他环境变量,以指示客户端是否从Obj-C环境访问您的网站。

答案 1 :(得分:0)

如果您的应用程序具有某种秘密令牌,并且您使用HTTPS进行证书验证,那么它不太可能成为问题。

请注意,如果用户已经确定,您的应用内容可以被用户阅读,并且如果您不是proxy application,则可以使用{{3}}拦截和检查您的API调用内容小心地根据已知良好的证书验证SSL端点。

通常注册是通过POST发送的,而不是GET。

您可以直接传输秘密,作为您使用Objective-C应用程序的证据,或者使其更难发现,然后使用SHA256之类的东西签署您的请求,其中秘密是盐。