Android PHP Web服务安全性
我已经构建了一个应用程序,它通过POST将HTTP请求从Android发送到PHP服务器 我的问题是如何确保安全? 如何在服务器端以安全的方式进行身份验证Android PHP Web服务安全性,php,android,web-services,security,Php,Android,Web Services,Security,我已经构建了一个应用程序,它通过POST将HTTP请求从Android发送到PHP服务器 我的问题是如何确保安全? 如何在服务器端以安全的方式进行身份验证 用SSL连接发送数据就足够了吗?或者我应该用RSA或其他什么加密吗?这取决于您试图保护的内容,SSL将阻止任何人监听通信,您不需要在上面添加其他加密 如果您想保护web服务本身不被未经授权的使用,那么您需要用户注册并发送用户名和密码(或更好的密码散列)以进行连接,然后您可以为每个请求使用密码,或者生成一个密钥,该密钥将随每个请求一起发送以验证
用SSL连接发送数据就足够了吗?或者我应该用RSA或其他什么加密吗?这取决于您试图保护的内容,SSL将阻止任何人监听通信,您不需要在上面添加其他加密 如果您想保护web服务本身不被未经授权的使用,那么您需要用户注册并发送用户名和密码(或更好的密码散列)以进行连接,然后您可以为每个请求使用密码,或者生成一个密钥,该密钥将随每个请求一起发送以验证用户
IMEI的想法并不太好,因为如果你有1,2个以上的用户,你首先需要获得每个人的IMEI,这是一个巨大的痛苦,即使这样,这也是可以伪造的,因为你的Android应用程序可以被拆开并为任何IMEI服务。考虑使用IMEI作为Lucifer建议我这样做:
在这种情况下,必须使用SSL(HTTPS)…我的建议是,使用JSON数组发送设备的IMEI,并且IMEI必须存在于服务器上的数据库中。如果两者都匹配,则它是有效的JSON数组,否则不是。您能解释更多吗?你想要什么样的保证?您想要基于用户名和密码的身份验证吗?是的,我想进行基于用户名和密码的身份验证,Lucifer's可以对其进行补充以提高安全性。在同一请求中发送用户名和密码以及imei安全吗?还是我应该先对用户进行身份验证并生成“密钥”然后用JSON数组和生成的密钥发出第二个请求?我认为最好发送username&pass&imei(例如,您可以在服务器上记录bruteforce尝试并禁止使用imei)imei很好,因为我的公司会将设备提供给销售人员,应用程序将安装在这些设备上。我现在的疑问是,我应该在一个请求(user、pass、imei和json)中发送所有信息,还是请求进行身份验证并发回一个密钥,以便在发送json的第二个请求中使用?这两个步骤并不重要,只要都通过SSL,就不会添加任何内容。如果是它的内部应用程序,那么你可以管理IMEI,但请记住,Android应用程序可以被拆开并更改为其真正没有那么多额外的保护。