你好,我实际上开发了一个 Ios 应用程序
此应用程序使用 PHP Web 服务从 mysql 获取数据(转换为 JSON)。
实际上它工作得很好。
但问题是:
如果我想更新、删除一条信息。
例如:
@interface Base : NSManagedObject
@property (nonatomic, retain) NSNumber * id;
@property (nonatomic, retain) NSNumber * latitude;
@property (nonatomic, retain) NSNumber * longitude;
@property (nonatomic, retain) NSString * mail;
...
这个类是Fill(一个http请求后,获取JSON)...
问题:
self.mail = @"[email protected]";
如何将这些数据更新到我的 MySQL 数据库?
Best Answer-推荐答案 strong>
仅通过普通请求发送邮件更新绝对不安全。
首先,这些操作之后应该是密码验证,其次你应该在最后添加一个 md5 哈希签名验证,并在服务器上验证该签名...
您还应该以单向哈希格式(md5 或 SHA1)发送密码,并使用您的网络服务器数据库中的内容验证哈希值...
编辑
回复您对此答案的问题
我会这样做:
我会这样做:
website/script.php?id=XX&mail=XXXX&password=MD5Pass&signature=MD5signature=MD5Signature
md5signature 应该是所有参数 (id) (mail) (password) 的 md5 哈希值和一个 secret 密码,例如 mySecr3tPass
因此,如果 id=12,mail = [email protected] 和 pass=AERF124F,则签名将是 [email protected] 的 MD5 哈希,即 0b9492395c9c1a73a6622cab5a6a4de5
所以请求将是:website/[email protected]&password=AERF124F&signature=0b9492395c9c1a73a6622cab5a6a4de5
因此,在您的 php 脚本中,您应该计算所有参数的 md5 哈希值 + 密码短语并查看它们是否匹配。
如果它们匹配,则请求有效,您可以继续,如果它们不匹配,则有人试图劫持数据库,忽略它!
关于mysql - 通过iOS应用程序将数据从json(php webservice)修改为mysql,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/10232604/
|