2014-09-26 87 views
0

基本上我有iOS应用程序向我的网站上的一个php文件发送POST请求,其中包含它的位置,然后php文件将它连接/发送到mySQL数据库,反之亦然。一切工作正常等,但我真正想要的是一种方法,以确保没有人可以让一些假脚本发送POST请求到我的PHP文件,并渗入数据库。在iOS之间安全地传输数据 - > php - > mySQL

我的第一个想法是有某种“关键”,也将被发送来检查它是否匹配的PHP文件。我可以让它像这样https://www.grc.com/passwords.htm。无论如何,我担心这不像我想要的那样安全(或有效)。审查我的代码接受进入App Store的人会看到它,对吗?

对不起,如果这是一个愚蠢的问题,但确保只有我可以从mySQL数据库(并因此PHP文件)发送/接收数据的最佳方法是什么?

谢谢!

+0

我想你会添加更多的参数。例如:authen =“true”等等。他们不会试图用你的Api来完成所有的关键。 hashcode是好的,但我认为这是没有必要的。 – 2014-09-26 01:50:06

回答

0

Jajaja“对不起,如果这是一个愚蠢的问题”。从来没有一个愚蠢的问题,除非你没有学习的欲望。

我也有类似的问题,并且确实希望保护您操作的数据,因为它非常重要。 你必须看到客户端和服务器。

例如,在客户端:

1)你将数据发送到服务器,以便这可能不是清晰?

2)你使用的是https吗?

或者在服务器:

1)你的服务器能够当数据到达可靠识别的?

2)您是否使用任何算法对您的数据进行加密?客户端加密和服务器解密还是反之?

并非总是因为他们使用密钥,而是总是安全的。我希望对你的作品和我的英语道歉:)

+0

MD5和SHA不加密。 – zaph 2014-09-26 08:14:07

0

•发送过来SSL

•在你的应用实现SSL Pinning

•可选哈希全部或者你的数据/查询参数的部分,等用盐和通过这个散列一起休息。在服务器散列/盐的参数/数据等,并验证盐匹配。他们将不得不绕过ssl,你的固定,然后重新开始你的应用程序,以提取你应用盐的方法以及盐本身。 example here

•至于PHP /服务器端,你会想要清理任何去mysql的东西。 Example

这是一个“开始”。

+0

假设你有安全的PHP(消毒)和你的数据库在同一台服务器上运行,这是不太可能成为你的入侵点,但为了完整性,我更新了我的答案。 – drunknbass 2014-09-26 20:20:27

0

问题的症结似乎是:“渗入数据库”。

避免这个是由完成的从不发出用户创建的命令到数据库。拦截所有用户请求,解析,验证和提取信息。如果一切都很好你的代码向带有消毒参数的db发出一个请求。

SSL将保护传输中的数据。您还需要防止创建攻击请求的攻击者。