gpt4 book ai didi

PHP 套接字服务器(用于 Android 推送通知)- 安全/身份验证问题

转载 作者:可可西里 更新时间:2023-11-01 02:34:23 27 4
gpt4 key购买 nike

我最近用 PHP 编写了一个套接字服务器,用于处理 Android 手机应用程序和我的 PHP 网络服务器之间的通信。由于 Android 本身不支持推送式通知,我们将使用我们的网络服务器作为中间件层来处理我们的“推送”。

套接字服务器稳定,运行良好,并且似乎可以很好地扩展。虽然我最终想用 C 重写它,但我现在不具备这样做的必要技能,所以我将至少在 PHP 中停留一小段时间。截至目前,我们的 Android 模拟器能够通过服务器进行通信、获取推送等,因此这部分都已涵盖。

我担心的是,现在任何人都可以打开到我的服务器的套接字,并获得客户端连接。虽然我们不会来回传递敏感数据,但我不想让任何人连接并接收广播信息,耗尽我的资源,并总体上阻塞我的服务器。

问题是,如何保护这样的服务器?假设我在端口 25,000 上运行——我可以在该端口上设置某种 SSL 层并期望像 Android 这样的设备能够通过该端口进行通信而无需任何特殊协议(protocol)或跳过箍吗?

我考虑过要求连接的客户端在获得客户端连接之前根据我们的用户数据库对他们的用户进行身份验证,但这需要通过网络以纯文本形式传递凭据,我不会这样做。

关于此的任何建议都会非常有帮助——我对 PHP 的直接 TCP 通信相当陌生,感觉我可能只是缺少一些允许在此级别进行身份验证的简单内容。

附加信息:如果我能够安全地获得有效的用户名和密码,我将使用 MySQL 来验证用户,然后根据查询结果接受/拒绝他们的连接。

提前致谢..

最佳答案

首先,我希望您已经以一种允许多个客户端同时连接的方式实现了 PHP 套接字服务器。考虑到 PHP 中没有线程,这并不像它应该的那样微不足道,但它肯定是微不足道的。

现在,如果您已经实现了套接字服务器,添加 TLS 支持就很容易了。只需运行 stunnel并让您的 PHP 套接字服务器仅接受本地接口(interface)上的请求。

关于PHP 套接字服务器(用于 Android 推送通知)- 安全/身份验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3610940/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com