网页源代码检查时隐藏 WebSocket 的后端地址

背景

近期在自研如何通过 OpenAI 实现 与ChatGPT 官网一样的聊天对话效果。
用到了 html5+websocket+python 三项技术 , 于是用一天时间自学了一下这方面技术。 当实现了功能之后,就得考虑安全问题:
在用 html5 实现与 websocket 通讯时,如何保证网页源代码检查时看不到 ws 的后端地址? 进而保证安全?

先给大家显摆一下我的成果(雏形),哈哈~
一个 html 文件+一个 python 文件搞定的与 chatgpt 对话。
在这里插入图片描述

为了在网页源代码检查时隐藏 WebSocket 的后端地址,您可以采用以下方法:

方法一:使用 JavaScript 动态生成 WebSocket 连接地址

在 HTML 页面中,不要直接写入 WebSocket 连接地址。而是通过 JavaScript 动态生成 WebSocket 连接地址。这样,当用户查看网页源代码时,将无法直接看到 WebSocket 的后端地址。

例如:

<!DOCTYPE html>
<html>
<head><title>WebSocket Example</title><script>function setupWebSocket() {// 动态生成 WebSocket 连接地址var wsUrl = "wss://" + window.location.hostname + "/websocket";var websocket = new WebSocket(wsUrl);websocket.onopen = function(event) {console.log("WebSocket 连接已打开");};websocket.onmessage = function(event) {console.log("收到消息: " + event.data);};websocket.onclose = function(event) {console.log("WebSocket 连接已关闭");};}</script>
</head>
<body onload="setupWebSocket()"><h1>WebSocket Example</h1>
</body>
</html>

方法二:使用后端代码生成 WebSocket 连接地址

在后端代码中生成 WebSocket 连接地址,并将其传递给前端。这样,当用户查看网页源代码时,将无法直接看到 WebSocket 的后端地址。

例如,在 Python 的 Flask 框架中,可以这样做:

from flask import Flask, render_templateapp = Flask(__name__)@app.route("/")
def index():ws_url = "wss://" + request.host + "/websocket"return render_template("index.html", ws_url=ws_url)if __name__ == "__main__":app.run()

然后,在 HTML 模板中使用传递的 ws_url 变量:

<!DOCTYPE html>
<html>
<head><title>WebSocket Example</title><script>function setupWebSocket() {var websocket = new WebSocket("{{ ws_url }}");websocket.onopen = function(event) {console.log("WebSocket 连接已打开");};websocket.onmessage = function(event) {console.log("收到消息: " + event.data);};websocket.onclose = function(event) {console.log("WebSocket 连接已关闭");};}</script>
</head>
<body onload="setupWebSocket()"><h1>WebSocket Example</h1>
</body>
</html>

需要注意的是,虽然这些方法可以在一定程度上保护 WebSocket 连接地址,但无法完全阻止有恶意意图的用户找到 WebSocket 地址。因此,建议您在后端实现一定的安全措施,例如验证用户身份、限制连接速率等,以确保 WebSocket 通信的安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49232.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你是不是在担心,ChatGPT写出的文字被其它AI识别?

文 / 高扬&#xff08;微信公众号&#xff1a;量子论&#xff09; 最近不少人问我一个道听途说的事情&#xff1a;听说已经有AI工具能够识别是不是ChatGPT写的文字了? 看来必要写篇文章&#xff0c;通过摆事实&#xff0c;为大家压压惊。 在赌场里&#xff0c;能抓老千的人一定…

uniapp判断是否登录跳转处理

问题 uniapp中&#xff0c;我们的页面是在pages.json里面配置的&#xff0c;第一个页面是我们的启动页&#xff0c; 假设我们第一个启动页设置成登录页&#xff0c;那我们每次是不是每次检测token&#xff0c;都会监测登录页&#xff0c;然后才会跳转至想要的页面 假设我们第一…

Qt中登录界面跳转到主界面的两种方法

Qt中登录界面跳转到主界面的两种方法 1 登录界面跳转2 跳转的两种方式2.1 利用QDialog::Accepted2.2 利用QObject::connect( ) 1 登录界面跳转 登录界面跳转&#xff0c;应该是项目的常见需求了。 输入账号、密码后&#xff0c;点击登录按钮跳转。 2 跳转的两种方式 这里博…

登录页面跳转

登录页面跳转 开发工具与关键技术&#xff1a;VS、MVC作者&#xff1a;黎官凤撰写时间&#xff1a;2019/05/10在做项目的时候有很多的项目都是需要实现登录的&#xff0c;在登录页面上填写完整各种登录信息然后点击登录按钮跳转到主页面从而实现到你登录进去要实现的功能。就像…

AndroidStudio创建手机登录注册跳转界面

一、新建一个空的LoginActivity 二、在activity.login.xml中进行布局设计 &#xff08;一&#xff09;那么如何打开呢这个.xml文件呢&#xff1f; 新建activity后里面会有初始代码&#xff0c;按住Ctrl键点击activity.login就可以进入xml文件了。 &#xff08;二&#xff09;…

如何用Android Studio实现登录跳转

前言 这个项目是我很早的时候写的&#xff0c;现在将其发上来供大家参考。可能存在一些不规范的问题&#xff0c;如有不对&#xff0c;欢迎批评指正。首先需要安装配置好Java开发环境&#xff0c;并选择任意一款Android开发工具进行编程&#xff0c;推荐下载安装Android Studi…

关于swagger突然跳转登录页面

今天建了一个初始项目&#xff0c;引入swagger之后&#xff0c;启动调用&#xff0c;却总跳转到一个登录页面&#xff0c;手足无措 最后原因是导入了security的包&#xff0c;导致权限安全拦截 注释后运行成功&#xff0c;如果没有成功看一下dependencies 里面是否还存在secur…

Android--使用显式Intent,实现从登录界面到注册界面的跳转

//Activity_abaka.xml --------------注册界面<?xml version"1.0" encoding"utf-8"?><RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"xml…

HTML实现登录后跳转到指定页面,不回退

最近开发页面&#xff0c;需要实现登录功能&#xff0c;成功后跳转到指定页面&#xff0c;之前尝试了好几种页面被跳转方法&#xff0c;但是都失败了&#xff0c;好在最终成功跳转&#xff0c;且浏览器不会后退&#xff0c;所以来记录一下&#xff1a; 最开始我使用的是window.…

登录页面,登录后跳转不成功

一、登录后跳转不成功&#xff0c;原因未知 二、分析①&#xff1a;404错误&#xff1a;用户操作资源不存在 分析②&#xff1a; action跳转地址为&#xff1a;http:/localhost:80/day0901/login 网页中登录后实际跳转地址为&#xff1a;http://localhost:8005/localho…

如何从短信链接打开跳转到微信App内

运营做了一个活动&#xff0c;准备发送短信推广出去&#xff0c;结果问题来了&#xff0c;用户接收到短信后&#xff0c;点击短信里的链接&#xff0c;默认是用的系统浏览器打开的&#xff0c;但我们的活动是用微信支付啊~~~微信支付啊~~~ 系统浏览器里不支持啊&#xff01;&a…

uniapp登录拦截器(未登录点击其他地方跳转登录页)

项目场景&#xff1a; 例如&#xff1a;客户要求用户在未登录的情况下&#xff0c;用户只可以在底部导航栏操作&#xff0c;点击其他的的功能都要跳转到登录页面。 uni.addInterceptor拦截器 是uni-app官网提供的拦截器&#xff0c;可以利用它来实现登录拦截器&#xff0c;用户…

【Android】用户登录界面功能实现:登陆跳转、退出

文章目录 用户登录界面功能实现&#xff1a;登陆跳转、退出♦ 回顾♦ 编写 MainActivity 实现功能登录功能效果退出弹框、连续点击返回退出 ♦ 设计 activity_my_tool.xml 展示工具界面♦ 编写 MyToolActivity 展示欢迎信息 用户登录界面功能实现&#xff1a;登陆跳转、退出 ♦…

登录成功不跳转的问题

一般而言&#xff0c;登录成功后页面会进行跳转&#xff0c;但我最进遇到一个问题&#xff0c;会导致原应该进行跳转的登录&#xff0c;在成功输入完账号密码以及验证码后&#xff0c;点击登录按钮&#xff0c;弹出登录成功的提示框&#xff0c;点击确定后&#xff0c;却没有跳…

GPT4.0写爬虫,连bug都没有

灵感来源 看到很多大佬在发这个&#xff0c;打开一看是个小光子&#xff0c;付费课程&#xff0c;所以我觉得写一个简单的免费教程。 简单示例 我们用一个简单的来介绍&#xff0c;比如爬取这位博主: https://blog.csdn.net/AOAIYI/article/details/130659496定义目标 下面…

怕抢不到演唱会门票?AI帮你做攻略!

最新消息称&#xff0c;随着演唱会门票销售的热度越来越高&#xff0c;越来越多的音乐爱好者开始使用人工智能&#xff08;AI&#xff09;来帮助他们抢到最热门的演唱会门票。 这是通过分析历史数据、线上队列和其他因素来制定最佳购票攻略。 据悉&#xff0c;一些智能购票工…

本机路由管理(公司内外网同时连接)

问题 我们平时办公室办公经常会使用到内网但是又想用外网查查资料&#xff0c;跟着下面教程你就可以实现&#xff01;解决办法 按住键盘 WIN建R键 &#xff0c;输入cmd&#xff1b;或者直接在左下角搜索命令提示符&#xff0c;右键以管理员身份运行 查询本电脑 IP 配置信息 设置…

chatGTP被美国多地高校封禁,近一半学生用其完成家庭作业或论文

火遍整个大江南北的chatGTP&#xff0c;被美国多市的高校封杀&#xff0c;甚至让纽约的教育系统也封杀了。新闻明确表示&#xff0c;美国多所高校学生&#xff0c;用chatGTP来完成家庭作业&#xff0c;以及论文。因为chat的算法&#xff0c;根本不会让你的文章重复出现&#xf…

香港银行卡别任性~最近民生港卡很多被发质询邮件的

自从我上次写了文章→ 您有一封民生香港银行卡的质询邮件待处理 之后 又陆续遇到了好几个人说收到质询邮件的 大多是跟别人互转的&#xff0c;当然也有个别不一样的。 1、案例A&#xff1a;入金微牛美股证券账户收到民生香港的质询邮件 这个小伙伴在入金微牛美股时候收到质询…

香港港铁可用支付宝了!还有什么地方是支付宝去不了的?

去香港旅游&#xff0c;港铁&#xff08;也就是我们说的地铁&#xff09;是很多人会选择的交通工具&#xff0c;而为了让大家更享受方便快捷的出游&#xff0c;香港港铁可以刷支付宝啦&#xff01; 近日&#xff0c;香港港铁与支付宝达成合作&#xff0c;宣告将正式接入支付宝和…