您好我实际开发了一个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 = @"newmail@mail.com";
如何将此数据更新到我的MySQL数据库?
创建另一个WebService并按网址发送数据?
http://mywebsite/service/baseClassUpdate.php?id=XX&mail=XXXX
答案 0 :(得分:2)
通过普通请求发送邮件更新绝对不安全。 首先,这些操作之后应该进行密码验证,然后你应该在最后添加一个md5哈希签名验证并验证服务器上的签名......
此外,您应该以单向散列格式(md5或SHA1)发送密码,并使用您在Web服务器数据库中的内容验证散列值...
编辑 要回答您的问题
这是我要做的: 我会这样做:
website/script.php?id=XX&mail=XXXX&password=MD5Pass&signature=MD5signature=MD5Signature
md5signature应该是所有参数(id)(邮件)(密码)的md5哈希值和密码,例如 mySecr3tPass 因此,如果id = 12,mail = mymail@mail.com并传递= AERF124F,则签名将是12mymail@mail.comAERF124FmySecr3tPass的MD5哈希值,即0b9492395c9c1a73a6622cab5a6a4de5
因此请求将是:website/script.php?id=12&mail=mymail@mail.com&password=AERF124F&signature=0b9492395c9c1a73a6622cab5a6a4de5
所以在你的php脚本中,你应该计算所有参数的md5哈希+秘密密码,看看它们是否匹配。 如果匹配,请求有效,您可以继续,如果他们不匹配某人试图劫持数据库,请忽略它!