mysql - 通过iOS应用程序将数据从json(php webservice)修改为mysql

标签 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 = @"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c0aea5b7ada1a9ac80ada1a9aceea3afad" rel="noreferrer noopener nofollow">[email protected]</a>";

如何将此数据更新到我的 MySQL 数据库?

  • 创建另一个 WebService 并通过 url 发送数据?

    http://mywebsite/service/baseClassUpdate.php?id=XX&mail=XXXX
    
  • 如果是:它“安全”吗?因为如果有人找到这个网址...

最佳答案

仅通过普通请求发送邮件更新绝对不安全。 首先,这些操作之后应该进行密码验证,其次您应该在末尾添加 md5 哈希签名验证,并在服务器上验证该签名...

此外,您还应该以单向散列格式(md5 或 SHA1)发送密码,并使用 Web 服务器数据库中的内容验证散列值...

编辑 回复您的问题到此答案

这是我要做的: 我会这样做:

website/script.php?id=XX&mail=XXXX&password=MD5Pass&signature=MD5signature=MD5Signature

md5signature应该是所有参数(id)(mail)(password)的md5哈希值和 secret 密码,例如mySecr3tPass 因此,如果 id=12,则邮件 = [email protected]并且 pass=AERF124F,签名将是 [email protected] 的 MD5 哈希值,这将是 0b9492395c9c1a73a6622cab5a6a4de5

所以请求是:website/script.php?id=12&<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bbd6dad2d786d6c2d6dad2d7fbd6dad2d795d8d4d6" rel="noreferrer noopener nofollow">[email protected]</a>&password=AERF124F&signature=0b9492395c9c1a73a6622cab5a6a4de5

因此,在您的 php 脚本中,您应该计算所有参数的 md5 哈希值 + secret 密码,并查看它们是否匹配。 如果匹配,则请求有效,您可以继续,如果不匹配,则有人试图劫持数据库,请忽略它!

关于mysql - 通过iOS应用程序将数据从json(php webservice)修改为mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232604/

相关文章:

php - 将常规 mysql 转换为准备好的语句

sql - 帮助 MySQL 查询分析被黑的 RockYou 密码数据

mysql-error-1064 - 运行 Mysql-Cluster

python - 在 django 中测试数据库而不是 django 模型

ios - 如何在不重新加载页面的情况下刷新 Swift 中的 ImageView ?

ios - 当我将架构更新为 arm64 时,Restkit 失败

ios - FBSDKLoginManager 注销和登录管理

c# - Azure Function 返回多个 JSON 对象

json - Serde JSON反序列化枚举

javascript - 通过数组中每个 JSON 对象中的值从 JSON 数组中删除重复项