socket.emit() 是一种将信息传输到服务器的安全方法吗?
Is socket.emit() a safe and secure method to transfer information to the server?
我正在开发一个使用 socket.io、express-js、node-js 和 react-js 的应用程序。阅读 this 后,我绝对希望尽可能保持安全,并牢记最佳性能。我正在考虑使用 socket.io 从客户端使用 socket.emit 向服务器发送信息(登录详细信息)。主要担心的是这些细节是否能够被外部(第三方)嗅探(看到)。不仅如此,如果这种方法不是一个好主意,那么什么是实现安全性和维护最少后端工作(服务器负载)的最佳选择。使用 HTTPS 时 cookie(快速会话 cookie)也安全吗?
(注意每个问题都适用于正在实施的 HTTPS)。
感谢您的帮助。
您需要对任何用户输入(如用户名、密码等)进行服务器端验证。任何中间人 (MITM) 攻击都将由 HTTPS 处理(只要确保您使用的是最新的SSL/TLS 版本)。这些嗅探攻击很难执行,人员需要在您的网络中。要使 cookie 安全,请使用 'HTTP-Only' 和 'secure' cookie 标志。
您可以在此处阅读有关数据验证的更多信息 - https://www.owasp.org/index.php/Data_Validation。
有关 cookie 标志的更多信息 - https://resources.infosecinstitute.com/securing-cookies-httponly-secure-flags/
还有一件事要确保通过代码对任何数据库事务使用参数化查询,以避免 SQL 注入。
希望对您有所帮助。
我正在开发一个使用 socket.io、express-js、node-js 和 react-js 的应用程序。阅读 this 后,我绝对希望尽可能保持安全,并牢记最佳性能。我正在考虑使用 socket.io 从客户端使用 socket.emit 向服务器发送信息(登录详细信息)。主要担心的是这些细节是否能够被外部(第三方)嗅探(看到)。不仅如此,如果这种方法不是一个好主意,那么什么是实现安全性和维护最少后端工作(服务器负载)的最佳选择。使用 HTTPS 时 cookie(快速会话 cookie)也安全吗?
(注意每个问题都适用于正在实施的 HTTPS)。
感谢您的帮助。
您需要对任何用户输入(如用户名、密码等)进行服务器端验证。任何中间人 (MITM) 攻击都将由 HTTPS 处理(只要确保您使用的是最新的SSL/TLS 版本)。这些嗅探攻击很难执行,人员需要在您的网络中。要使 cookie 安全,请使用 'HTTP-Only' 和 'secure' cookie 标志。 您可以在此处阅读有关数据验证的更多信息 - https://www.owasp.org/index.php/Data_Validation。 有关 cookie 标志的更多信息 - https://resources.infosecinstitute.com/securing-cookies-httponly-secure-flags/
还有一件事要确保通过代码对任何数据库事务使用参数化查询,以避免 SQL 注入。
希望对您有所帮助。