移动应用程序和 LAMP 之间的安全交易
我有一个移动应用程序(iPhone 和 Android),允许用户登录他的帐户,更改首选项等...
我想添加一个新功能,用户可以通过他的设备购买产品或升级他的服务。一切都将从设备运行,我想让用户的每笔交易都同步到网络服务器。
我的服务器上设置了 HTTPS。我想知道:
- 这是一个好的做法吗?或者我应该简单地告诉用户使用我们的网站
- 如果“是”,单独使用 HTTPS 是否可以很好地处理这些交易?
谢谢
I have a Mobile App (iPhone and Android) which allows user to login to his account, change prefs etc...
I want to add a new feature where the user can buy products through his device or upgrade his service. Everything will run from the device and I want to make each transactions the user make it syncs to the web server.
I have HTTPS setup on my server. I would like to know if:
- It is a good practice? or should I simply tell the user to use our website
- If "yes", is HTTPS alone good to process these transactions?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,这是一个很好的做法。
首先始终使用 HTTPS。
确保您的证书有效且可信。
对于 iPhone:
对于 Android:
第二次加密您的数据。< /strong>
任何加密算法或 rsa 加密都可以解决问题。
使用 GET/POST 传递数据不应以纯文本形式发送,例如:?user=myuser&pass=mypass。而是使用类似 ?h28JduDak30fT1pfgmSnShNms762023lflsfdj2h4J 的内容。然后在您的服务器上,您只需使用只有您的手机和服务器知道的盐来解密它。
iPhone 的示例代码:
Android 的类似想法
然后在您的服务器上您可以解密 $_POST['key'] 并执行您的登录逻辑(或其他)
这里有更多资源可以帮助您:
注意:
对于 Android,您应该查看 HTTPComponents
阅读更多内容
yes it's a good practice.
first of all ALWAYS use HTTPS.
make sure your certificate is valid and trusted.
for iphone:
for android:
second encrypt your data.
any encryption algorithm or rsa encryption will do the trick.
passing data using GET/POST should not be sent in plain text like: ?user=myuser&pass=mypass. instead use something like ?h28JduDak30fT1pfgmSnShNms762023lflsfdj2h4J. then on your server you simply have to decrypt it using a salt only your phone and the server knows.
example code for iphone:
similar idea for android
then on your server you can decrypt $_POST['key'] and do your login logic (or others)
here's more resource that will help you:
note:
for android you shoud take a look at the HTTPComponents
read more