php – 如何通过Web套接字将私有数据安全地发送到objective-c客户端并返回服务器?

php – 如何通过Web套接字将私有数据安全地发送到objective-c客户端并返回服务器?,第1张

概述我正在使用 SocketRocket(一个Objective-c套接字库)建立一个wss://连接到 ratchet(一个PHP套接字库). 我计划通过此套接字连接发送私有数据,然后使用https://请求将数据发送回服务器. objective-c代码: //initiate global variable@property (nonatomic) NSMutableArray* keys; 我正在使用 SocketRocket(一个Objective-c套接字库)建立一个wss://连接到 ratchet(一个PHP套接字库).

我计划通过此套接字连接发送私有数据,然后使用https://请求将数据发送回服务器.

objective-c代码:

//initiate global variable@property (nonatomic) NSMutableArray* keys;...//receive the private data with SocketRocket- (voID)webSocket:(SRWebSocket *)webSocket dIDReceiveMessage:(nonnull Nsstring *)string{    [_keys insertObject:string];}...//$_POST the file data with sthttpSThttpRequest *r = [SThttpRequest requestWithURLString:@"https://example.com/test.PHP"];r.POSTDictionary = @{ @"key":_keys[0] };...

有没有可能的方法客户端可以拦截这些私人数据(在原因[缓冲区溢出,中间人等…])?

解决方法 如果您使用的是wss://和https://协议,则不必担心中间人攻击,因为所有正在发送的数据都是加密的.

但是,如果在任何情况下您必须通过不安全的协议或URL查询字符串发送数据,您可以使用PHP的开放SSL模块自己加密数据并以明文形式发送(例如:$_ GET params).

例:
http://php.net/manual/en/book.openssl.php#91210

在此示例中,$crypttext将是二进制数据.这可以编码为base64字符串,如果需要通过GET或POST请求发送,则编码url.

进行urlencode(BASE64_ENCODE($crypttext))

在接收端,您可以使用base64 decode和url decode来获取二进制信息,然后使用私钥解密数据,如示例所示.

BASE64_DECODE(urldecode($crypttext)

总结

以上是内存溢出为你收集整理的php – 如何通过Web套接字将私有数据安全地发送到objective-c客户端并返回服务器?全部内容,希望文章能够帮你解决php – 如何通过Web套接字将私有数据安全地发送到objective-c客户端并返回服务器?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1011868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存