修改数据从iOS应用程序从json(php webservice)到mysql

时间:2012-04-19 16:31:44

标签: mysql ios json

您好我实际开发了一个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
    
  • 如果是:是“安全”吗?如果有人找到这个网址...

1 个答案:

答案 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哈希+秘密密码,看看它们是否匹配。 如果匹配,请求有效,您可以继续,如果他们不匹配某人试图劫持数据库,请忽略它!