Normal view

There are new articles available, click to refresh the page.
Today — 1 September 2025Curiosity

请教一个同源策略的问题

By: elinktek
1 September 2025 at 18:08
elinktek:

需要 android 程序自动注入 js 表单信息,用户名密码,然后提交 网址是: https://aa.bb.buzz/test 实际网页的源码是 https://aa.bb.buzz/test/frame.html 我写的是 webView.loadUrl("https://aa.bb.buzz/test/frame.html"); 现在要求必须写成 webView.loadUrl("https://aa.bb.buzz/test");我查了 AI 说不能直接操作这个网址

AI 的解释: 为什么会失败? 同源策略 (Same-Origin Policy):

一个网页的“源”由协议、域名和端口号共同决定。

父页面 URL: https://aaa.buzz/test/,其源是 https://aaa.buzz

iframe URL: https://test01.aaa.buzz/test/frame.html ,其源是 https://test01.aaa.buzz

尽管这两个域名都属于 aaa.buzz ,但 test01.aaa.buzz 是一个不同的子域名,因此根据同源策略,它们被视为不同的源。

出于安全考虑,浏览器严格禁止一个源的脚本(例如注入到父页面的 JavaScript )访问另一个源的 DOM 内容(例如 iframe 里的表单元素)。这正是您日志中显示的 SecurityError 错误的原因。

shouldOverrideUrlLoading 的局限性:

您尝试使用 shouldOverrideUrlLoading 方法来拦截 iframe 的加载,但这通常只适用于主页面的导航事件(如用户点击链接或重定向)。WebView 加载 <iframe> 内部内容的行为,通常不会触发这个回调。因此,您的代码无法在 iframe 加载时进行拦截并跳转。

目前写的关键代码:

public class MainActivity extends AppCompatActivity {

    private WebView webView;
    private static final String TAG = "WebViewApp";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webView = findViewById(R.id.webView);

        // 启用 JavaScript
        webView.getSettings().setJavaScriptEnabled(true);

        // 绑定 JavaScript 接口
        webView.addJavascriptInterface(new WebAppInterface(this), "Android");

        // 设置 WebViewClient ,监听页面加载完成
        webView.setWebViewClient(new MyWebViewClient());

        // 直接加载包含表单的 URL
        webView.loadUrl("https://test01.aaa.buzz/test/frame.html");
    }

    private class MyWebViewClient extends WebViewClient {
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            Log.d(TAG, "Page finished loading: " + url);

            // 注入一个健壮的 JavaScript 代码,使用更通用的方法查找元素,并将代码压缩为单行
            String js = "(function() { function waitForElementsAndSubmit() { var inputs = document.getElementsByTagName('input'); var buttons = document.getElementsByTagName('button'); var usernameInput = null; var emailInput = null; var submitButton = null; var inputCount = 0; for (var i = 0; i < inputs.length; i++) { if (inputs[i].type === 'text') { if (!usernameInput) { usernameInput = inputs[i]; } else { emailInput = inputs[i]; break; } } } for (var i = 0; i < buttons.length; i++) { if (buttons[i].type === 'submit' || buttons[i].id === 'submit') { submitButton = buttons[i]; break; } } if (usernameInput && emailInput && submitButton) { console.log('找到所有元素,开始填写和提交。'); usernameInput.value = 'test'; emailInput.value = 'test@qq.com'; var form = submitButton.closest('form'); if (form) { form.submit(); } else { submitButton.click(); } setTimeout(function() { Android.showToast('表单已自动提交。'); }, 1000); } else { console.log('未找到元素,继续等待...'); setTimeout(waitForElementsAndSubmit, 200); } } waitForElementsAndSubmit(); })();";

            view.evaluateJavascript(js, null);
        }
    }

    @Override
    public void onBackPressed() {
        if (webView.canGoBack()) {
            webView.goBack();
        } else {
            super.onBackPressed();
        }
    }
}

求大神指点,谢谢

生存还是死亡,这是一个问题

By: BigPig666
1 September 2025 at 18:07
BigPig666:

标题有点唬人哈,但也差不多这个地步了。

本人 30+,我最近一直困扰一个问题,是享受当下,放纵自己,还是克制本心到退休。

现在正值壮年,有一些钱,有精力,就是没自己的时间 [牛马三件套]

退休,大概率能活到,然后有大把自己的时间,可惜没有精力,因为现在明显感觉不如 20+的时候了。

记录 Windsurf IDE 无法登录的问题

By: jonsmith
1 September 2025 at 18:07
jonsmith:

薅 Windsurf 羊毛,今天又注册一个免费账号,重新登录 Windsurf IDE 时遇到无法登录的问题。

bug

解决办法: Windsurf IDE 当前打开的项目需要是本地项目,不能是远程项目或者 WSL 。

  • 我的开发环境是 window WSL ,其他 MAC 系统不确定是否有类似问题。
  • 可能 Windsurf 一个小 bug ,类似 bug 貌似比 Cursor 要多

Windsurf 免费版有两周 100 个 credits ,挺香的,使用体验跟 Cursor 接近。

外企前端/全栈招聘, base 北京

By: muzidx
1 September 2025 at 17:55
muzidx:

外企前端/全栈招聘,base 北京 middle senior 级别的前端工程师,要求 React, Node.js 技术好优先,英语要求读写,不强制要求。公司不加班,朝阳区,福利好,不是初创,成立 20 年了,大部分工程师在国外,北京有 office 想投简历或者了解背景的可以发邮件,我看到就马上回复 招的比较急,面试流程应该会简单一些 cattwuyang@gmail.com

关于上海联通宽带和云盘有个惊人的发现

By: PROJECT
1 September 2025 at 17:52
PROJECT: 1.目前做过测试百度云盘和阿里云盘两个盘各下载 17T 的视频文件未发现明显限制。好奇 cdn 成本不低把,17T 都比网盘会员费高了,阿里和百度这部亏死了?
2.百度云盘和阿里云盘会出现下载一开始满速但是下着下着速度就下来了,但是暂停下在开始又恢复了
3.上个帖子: https://www.v2ex.com/t/1154712#reply27 ,我本来打算去酒店的,但是又怕时间太长成本太高。就在自己的联通宽带上直接开始上传了
4.我就一根联通宽带是带 9929 的那个没公网 ip 的
5.目前 7 天了,已经上传到 115 网盘 8.62T 了。目前宽带一切正常。未发现限速。可能与没有公网 ip 有关
6.又开了个 123 网盘,买了 vip 带 20T ,打算用电信上传试试看。之前电信进过竞技场 ip 网段,目前出来了

到时候告诉大家结果

坐标教育公司,已经给老板立了军令状,准备搞一个 Agent 来做 B 端老师的学习服务,年底寒假前搞不定就主动跑路。

By: DaneYan
1 September 2025 at 17:51
DaneYan:

背景 现在组里一直还是传统方式做事,就是一些增删改查的需求,没啥意思。AI 相关的也只是接个接口,对业务提升,老师帮助也很少。现在老师人手短缺,我们做的东西基本不是强要求的话,很难配合我们去使用,他们宁愿用 office 也不愿意用平台。甚至联帮助他们做流量,赚钱的也不愿意去使用,主要原因就是使用复杂,配置复杂,没时间。

现在我自己想通过立军令状的方式,去做一些新的东西,要点资源,现在对我来说,时间就是最大的资源,不然每天做不完的需求,基本都是表单配置,增删改查。

在这里表达主要目的就是想表达讨论,看看能否有更多的想法帮助我完善我的构想。

我目前的想法就是通过 vibe coding 的方式一点一点完成整个 Agent 。 大体的里程碑是:登录 --> 身份角色 --> 工具 --> Mcp 。 我还会结合参考一些开源的框架设计,去设计一些缓存,历史对话,权限等。

感觉立军令状也是比较冲动,但是我也不后悔,有结果做出来肯定是好的,做不出来就当学习了,赚到做。 以我现在的能力,这个还是比较有挑战,看看能做到什么程度吧。

欢迎感兴趣的一起讨论,我也会把我过程中学习认知到的分享出来。

产品冷启动,被问懵了

By: LucasTYC
1 September 2025 at 17:47
LucasTYC: 我开发了一款 chrome 插件,找到一个孵化的公司,问了我几个问题:
1 、你如何保证插件是安全的?|我回答:必要时可以 github 开源,google 有审核
2 、如何确保插件的版本和 github 版本一致呢? |这个我确实不清楚
3 、不是每个用户都懂代码,如何引导用户相信你的插件没问题?
原来做产品不是第一步,背书才是第一步。。所以我该怎么回答这些问题

有老哥还记得星际家园(kele8)么

By: Ryinn
1 September 2025 at 17:38
Ryinn:

一不小心暴露年纪了,十分令人怀念当年的游戏时光,打算用 Unity 复刻一下

查遍全网,关于 kele8 FancyBox 游戏引擎的资料非常少,只找到了零星一点资料

通过抓包拿到了源文件,游戏脚本文件格式为.fcc 素材文件为.ale

能力有限,还没有办法逆向出来

K8S 中的 POD,如何安全的执行 docker build?

By: zerphyr
1 September 2025 at 17:25
zerphyr:

问题

服务运行环境是 k8s ,如果要执行 docker 命令,主要是安全问题,如何避免容器逃逸?

AI 提供了两种解决方案

  1. 挂载主机 sock 使用 dind 执行 docker 命令
  2. 使用 buildx/buildkit ,维护一个专门执行 docker 命令的集群提供 docker 能力

想问下大家有没有遇到类似的问题,如何解决的?

生活中的感知力

By: rgyfinal
1 September 2025 at 17:25
rgyfinal: 2025.9.1
九月的第一天,出地铁站阳光很灿烂

这一天的精神状态挺好的
走在路上,无意识看了路人的表情,她脸上是带着点焦急,看的好清晰,他脸上是淡淡的笑意,她脸上不开放的没什么表情,等等

怎么世界突然就鲜活起来了,都是一样的路和差不多的人,每个人都是动态的,神态给我有不同的感觉。

对比感受这么明显,之前是怎样的呢,灰蒙蒙的,都是看不清脸的人,也许身材好穿搭好的女生,才会去看她的脸,但也看不太清楚

感知力的提升

评论区可以分享你们有关感知的经历呀

v2ex coin 持有 10000 个才能注册,是否太贵了

By: lookupsky
1 September 2025 at 17:24
lookupsky: 逛论坛好多年了,但是没注册;后来看到站长为了减少广告账号涌入改成邀请制注册,才想起来我没账号哈哈 然后去闲鱼邀请码 80-100RMB/个没买,反而是持有 10000 个 V2EX 注册进来
按价值来算用 10000 个 V2EX 注册价格是否太高了,整整要 100$现在🧐

电子 ED 了,为了避免 4070 吃灰,拿它跑了个 whisper 服务

By: yutify
1 September 2025 at 17:15
yutify:

访问地址👉 https://transpocket.com

主要功能:

  • 语音转文字 - 基于 Whisper Large-v3 模型,平均 WER5.8%
  • 多语言支持 - 支持英语、中文、日语、韩语等 10+种语言
  • 多种格式 - 支持 MP3 、MP4 、WAV 、M4A 等常见格式
  • YouTube 转写 - 直接粘贴 YouTube 链接即可转写
  • 实时录音转写 - 支持实时录音转写功能
  • 说话人识别 - AI 自动识别和分离不同说话人

使用方法: 上传音频/视频文件,或粘贴 YouTube 链接 选择语言和转写选项 等待 AI 处理完成 下载转写结果(支持 DOCX 、TXT 、SRT 等格式)

如果遇到问题或有特殊需求,欢迎随时反馈。 TransPocket

招募:远程 web 前端岗位

By: Brand001
1 September 2025 at 16:55
Brand001: 前端开发工程师 15K-25K ,不限地址

岗位职责:
1.开发广告平台后台核心功能;
2.优化前端性能与交互体验,保障复杂数据场景下的流畅展示;
3.实现多端适配与组件化开发,提升工程化水平;
4.协同后端、算法团队完成系统联调与功能迭代;
5.解决广告业务场景下的前端技术难点(如大规模数据渲染、低延迟交互)。
任职要求:
1.计算机相关专业本科及以上学历,3 年以上前端开发经验;
2.熟悉 React,node,nestjs 等前端框架,熟悉前端工程化与性能优化;
3.熟悉可视化开发( ECharts/D3.js 等)或复杂交互场景实现;
4.具备跨端开发经验( PC/移动端/响应式设计);
5.对业务逻辑敏感,具备良好的跨团队协作能力。
加分项:
1.了解广告行业基础业务知识与逻辑
2. 熟悉 Aws S3 以及 Athena 的优先
联系:
TG:@yangruqing520
邮箱: zygs2151@gmail.com

AI 编程对面试的影响

By: catamaran
1 September 2025 at 16:52
catamaran:

AI 编程工具发展得越来越快,尽管还能看到一些人对它不屑一顾,但我认为它的影响力已经很大了。想请教一下,这是否改变了现在技术面试的方式和流程?我已经很久没参与过面试(无论是作为面试官还是候选人),有没有了解情况的朋友能分享下当前的现状?

❌
❌