security - 使用公共(public)站点从 js 访问 127.0.0.1 上的网络服务器的陷阱

标签 security web-applications hardware

我正在考虑探索让我们的客户端软件作为服务在高端口上运行并监听来自 127.0.0.1 的简​​单 http GET 请求的想法。理论上我可以通过 js 从我的网站提供的网页访问此服务。

1) 用户在127.0.0.1:8080安装客户端软件,将自身安装为服务并等待经过身份验证的请求

2)当用户点击我的主页时,页面上的js向127.0.0.1:8080发出xhtml请求并询问状态

3) 主页然后向我的 Web 服务器发送另一个 js 请求,发送它收到的状态。

这将允许我的用户通过浏览器实时上传/下载和编辑 USB 连接设备上的文件。轮询可能是接近我们今天所做的后备方法。

有没有人这样做过,有什么潜在的陷阱?这会起作用吗?

最佳答案

我看不到任何潜在的陷阱。不过,我确实有几点。

1/你可能想确保你的服务只接受来自本地机器 (127.0.0.1) 的传入连接。否则,任何人都可以查看您的 JavaScript 并发现它正在与 [your-ip]:8080 通信。然后他们可以从远程站点(安全漏洞)自行尝试。

2/我不会使用端口 8080,因为它通常用于其他用途(备用 HTTP 服务器等)。使其可配置并选择一个很好的高随机类型值。

3/我不确定您要对第 3 点做什么,但我认为您正试图将状态发回给用户。在这种情况下,为什么您主页上的 JavaScript 不在单个 session 中获取状态并输出/更新要呈现给用户的 HTML?你的“另一个 js 请求返回我的网络服务器”对我来说没有意义。

关于security - 使用公共(public)站点从 js 访问 127.0.0.1 上的网络服务器的陷阱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/332794/

相关文章:

verilog - icarus 的 SystemVerilog 支持(iverilog 编译器)

php - 如何防止PHP中的SQL注入(inject)?

c# - 访问消息队列系统被拒绝 Windows 7 读取 Windows 2003 - Windows 2008

iphone - 在 iPhone sdk 中使用 Des64 和 Des192 加密算法加密字符串?

security - 偏执态度: What's your degree about web security concerns?

安卓硬件调试

php - PHP 中的严格 HTML 验证和过滤

java - 从范围提供的 Maven Web 项目获取 jar

go - 如何在专用服务器上运行多个 Golang 应用程序?

windows - 如何即时更改我的事件声卡?