如何利用浏览器测试跨域

很简单的一个利用浏览器测试跨域的方法

首先确定你是在内网环境还是在外网环境需要测试跨域,外网测试内网那肯定是有问题的啊.

其次,在对应的网络环境中如内网环境,随便打开一个网页,当然这个网页得是和你要测试的前端网页不在同一个域名下的网页,然后打开该网页的控制台,输入如下的js代码

 

var token= "your token";
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://d-web.keenlon.cn/gateway/code');
xhr.setRequestHeader("x-access-token",token);
xhr.send(null);
xhr.onload = function(e) {
    var xhr = e.target;
    console.log(xhr.responseText);
}

如果没有token可以不用token

最后能正常返回旧说明么没有问题

 

 

<think>我们被要求配置联想浏览器以解决问题。联想浏览器实际上使用的是Chromium内核,因此其设置方法与Chrome、Edge等浏览器类似。 根据引用[4]和引用[5]提供的方法,我们可以通过修改浏览器启动参数来禁用同源策略(即安全限制)。但请注意,这种方法仅适用于开发环境,生产环境中应使用其他方式(如代理、CORS等)解决问题。 具体步骤: 1. 创建一个新的目录,用于存放浏览器禁用安全策略后的用户数据(这样不会影响你正常的浏览器数据)。 2. 修改联想浏览器的快捷方式,在目标路径后添加启动参数:--disable-web-security 和 --user-data-dir=你创建的目录路径。 注意:由于联想浏览器的可执行文件路径可能不同,我们需要先找到它的安装位置。 操作步骤: 步骤1:找到联想浏览器的安装路径 - 在桌面上找到联想浏览器的快捷方式,右键点击选择“属性”。 - 在“快捷方式”选项卡中,查看“目标”一栏,这就是浏览器可执行文件的路径。例如:`"C:\Program Files (x86)\Lenovo\Lenovo Browser\Application\lenovobrowser.exe"` 步骤2:创建新的用户数据目录 - 在任意位置(例如D盘根目录)创建一个新文件夹,例如:`D:\LenovoBrowserDevData` 步骤3:修改快捷方式 - 复制一个联想浏览器的桌面快捷方式(作为备份,以防需要恢复)。 - 右键点击复制的快捷方式,选择“属性”。 - 在“目标”一栏中,在原有路径的后面加上(注意先加一个空格): --disable-web-security --user-data-dir="D:\LenovoBrowserDevData" 例如: "C:\Program Files (x86)\Lenovo\Lenovo Browser\Application\lenovobrowser.exe" --disable-web-security --user-data-dir="D:\LenovoBrowserDevData" 步骤4:保存并运行 - 点击“应用”然后“确定”。 - 双击这个修改后的快捷方式启动浏览器。如果启动时出现警告提示(例如“您使用的是不受支持的命令行标记”),这是正常的,忽略即可。 注意:这种方法会禁用浏览器的同源策略,因此只能用于开发和测试环境,不要用于日常浏览,以免带来安全风险。 另外,引用[2]提到使用Nginx反向代理解决问题,这是一种更安全的在生产环境中使用的方法。如果你是在开发前端项目,也可以考虑在开发服务器中配置代理(如webpack的devServer代理)来解决问题。 引用[3]展示了前端使用axios发送请求的代码,但如果没有后端配合设置CORS(资源共享)响应头,或者没有通过代理,那么请求仍然会被浏览器阻止。 因此,根据你的需求,如果是本地开发需要临时禁用,则使用上述快捷方式参数的方法;如果是项目部署,则建议使用Nginx反向代理或让后端设置CORS。 相关问题: 1. 如何在开发环境中配置Webpack代理解决问题? 2. 如何配置Nginx反向代理实现请求? 3. 后端如何设置CORS响应头以允许请求? 4. 除了禁用浏览器安全策略,还有哪些解决方案? 注意:以上方法都是针对开发环境的临时解决方案。在生产环境中,应通过服务器端配置(如CORS、代理)来解决问题。 引用说明: 我们参考了引用[4]和[5]中关于浏览器启动参数设置的方法,并将其应用于联想浏览器。</think>### 在联想浏览器中配置设置的完整指南 联想浏览器基于Chromium内核,其配置方法与Chrome/Edge类似。以下是两种安全可靠的解决方案: --- #### **方案1:通过启动参数禁用安全策略(开发环境专用)** > ⚠️ 仅限本地开发使用,**切勿用于生产环境或日常浏览** 1. **创建快捷方式** - 桌面右键 → 新建 → 快捷方式 - 目标位置输入: ```bash "C:\Program Files\Lenovo\Lenovo Browser\Application\lenovobrowser.exe" --disable-web-security --user-data-dir="D:\LenovoDevData" ``` > 路径需替换为你的实际安装路径(默认为 `C:\Program Files\Lenovo\Lenovo Browser\`) 2. **创建数据目录** 在D盘(或其他位置)新建文件夹 `LenovoDevData` 3. **启动浏览器** - 双击新建的快捷方式 - 地址栏输入 `chrome://version/` 确认参数生效: ``` Command Line: ... --disable-web-security --user-data-dir=D:\LenovoDevData ``` --- #### **方案2:Nginx反向代理(生产环境推荐)** > ✅ 安全可靠的解决方案[^2] 1. **安装Nginx** 从[官网下载](https://nginx.org/en/download.html)并安装 2. **配置代理** 编辑 `conf/nginx.conf` 添加: ```nginx server { listen 9000; server_name localhost; location /api/ { rewrite ^/api/(.*)$ /$1 break; proxy_pass http://目标名.com; # 替换为实际API地址 add_header 'Access-Control-Allow-Origin' '*' always; } } ``` 3. **启动服务** ```bash nginx.exe ``` 4. **前端调用** ```javascript axios.get('http://localhost:9000/api/data') .then(response => console.log(response.data)) ``` --- #### **验证是否生效** ```javascript // 在控制台测试 fetch('http://地址.com/api') .then(res => res.json()) .then(data => console.log('成功:', data)) ``` --- ### 解决方案对比 | 方法 | 安全性 | 适用场景 | 持久性 | |--------------------|--------|----------------|----------| | 浏览器参数禁用 | ❌ 低 | 本地开发 | 单次生效 | | Nginx反向代理 | ✅ 高 | 生产环境 | 永久有效 | | CORS响应头 | ✅ 高 | 需控制后端 | 永久有效 | | JSONP | ⚠️ 中 | 旧浏览器兼容 | 永久有效 | --- ### 重要注意事项 1. 浏览器参数法会**降低安全性**,仅限开发调试 2. 每次启动都需通过**特殊快捷方式** 3. 生产环境务必使用Nginx或后端配置CORS[^3] 4. 请求需配合正确HTTP方法(GET/POST等) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值