`
aoingl
  • 浏览: 86685 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

怎样让浏览器随意修改访问中的 web 页面

    博客分类:
  • Web
阅读更多

  母娘在的那些日子, 天天玩 4399 上的花花连连看 游戏, 明天要走了, 说要把游戏下载下来回去玩,因为她家里没有网络。我看了下这个页面, 发现是个 flash 的游戏, 心想应该能下载到本地玩。看了看页面上有个下载的连接, 点进去却发现还需要安装 4399 游戏盒。 安装软件对于丈母娘来说太难了, 我心想,直接把 flash 下载下来不就完了吗。使用 Chrome 浏览器打开游戏页面, 在那个 flash 的左边空白处右键选择: Inspect Element, 然后找到:

<embed id="flashgame1" name="flashgame" 
src="http://s1.4399.com:8080/4399swf/upload_swf/ftp/20070506/2.swf" 

quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" 
type="application/x-shockwave-flash" width="750" height="563" allowscriptaccess="nerver" 
allownetworking="internal" style="width: 639px; height: 480px; ">

 

OK, flash 游戏的地址就是这个了:src="http://s1.4399.com:8080/4399swf/upload_swf/ftp/20070506/2.swf"

 

 搞定!

 

   丈母娘不明白为啥下载个游戏, 我还忙活这么半天, 还打开一堆英文字符看。 让人很没有成就感, 我想了下, 干脆弄个 User Script 加载进来, 直接修改这个 web 页面, 加上一个点击下载的连接不久完了, 以后她再想下载 4399 上的小游戏, 我就方便多了。 说干就干。

 

   先简单介绍一些 User Script。 现在浏览器或自身或通过插件支持 User Script, IE 下通过 Trixie , Firefox 使用 GreasemonkeyChrome 自身就支持 User Script。User Script 最早由 Greasemonkey 提出, 它就是一个基本的 JavaScript, 通过一些简单的 annotaion 来说明该 user script 的名字, 作用, 和能够访问的 web pages。

 

// ==UserScript==  
// @name         4399 game downlader
// @version		 1.0.0
// @author       aoingl@XXXX.com
// @namespace    https://github.com/gaol
// @description  4399 game downloader
// @include      *://www.4399.com/flash/*
// ==/UserScript== 
 

  上面就是写的 user script 的 annotation 描述。 具体含义, 请参考 http://greasemonkey.mozdev.org/authoring.html

 

  完整的脚本如下:

// ==UserScript==  
// @name         4399 game downlader
// @version		 1.0.0
// @author       aoingl@XXXX.com
// @namespace    https://github.com/gaol
// @description  4399 game downloader
// @include      *://www.4399.com/flash/*
// ==/UserScript== 

var gameurl = document.getElementById("flashgame1").getAttribute("src");
var divBlock = document.createElement("div");
divBlock.setAttribute("id", "download");
divBlock.setAttribute("style", "margin-top:70px;");
divBlock.setAttribute("align", "center");
divBlock.innerHTML = "&nbsp;&nbsp;<a href=\"" + gameurl + "\" id=\"downBtn\">下载游戏到本地(右键另存为)</a>";
var play = document.getElementById("play");
var before = play.nextSibling;;
document.body.insertBefore(divBlock, before);
 

  我们以 Chrome 为例, 使用 Chrome 浏览器访问脚本(这里注意, 脚本的文件名需要为 *.user.js , 这样 Chrome 还有 Greasemonkey 才会认为该脚本是个 User Script),左下角会有安全性提示, 点击 Continue, 在弹出对话框中选择: Install,就好了。

 

   请注意: User Script 只允许访问 web page 下的 DOM 对象, 不能访问 web page 下的 javascript 变量。

 

   现在我们再次访问下该页面, 我在使用 User Script 前后各拍一个图, 我们比较下区别:

 

 

  Chrome 除了 User Script 以外, extension 是一大亮点, 现在基于 Chrome 的 extension 迅猛增长, 相信很快就能超过 Firefox 下的 Add-on 数量。 有关 extension 的开发, 请参考官方文档: http://code.google.com/chrome/extensions/index.html

 

  另外:   http://userscripts.org/ 里有很多 User Script 下载。

 

  当使用 User Script 或者 Chrome 的 extentsion 有了任意修改访问的页面能力的时候, 你会想到做什么呢? 我想到的,比如: 12306 的自动订票, taobao 上的秒杀等等。 你会想到什么?

 

  • 大小: 113.1 KB
1
0
分享到:
评论
4 楼 gxz1989611 2012-02-07  
aoingl 写道
真的吗? 他们怎么做的验证呢? 怎么区分是用户按 F5 刷新和脚本的提交的呢? 不过至少 12306 做的不怎么样, 我通过 https://github.com/zzdhidden/12306 的脚本就抢到票了, 至少今天看的话,自动刷票的功能还没问题。

这样,那是我误解你的意思了。我以为你说的只是单纯改变前端页面数据然后提交~
3 楼 lvjinhua 2012-02-06  
丈母娘驱动开发
2 楼 aoingl 2012-02-06  
真的吗? 他们怎么做的验证呢? 怎么区分是用户按 F5 刷新和脚本的提交的呢? 不过至少 12306 做的不怎么样, 我通过 https://github.com/zzdhidden/12306 的脚本就抢到票了, 至少今天看的话,自动刷票的功能还没问题。
1 楼 gxz1989611 2012-02-06  
引用
当使用 User Script 或者 Chrome 的 extentsion 有了任意修改访问的页面能力的时候, 你会想到做什么呢? 我想到的,比如: 12306 的自动订票, taobao 上的秒杀等等。 你会想到什么?

别想了,12306订票、taobao秒杀都有服务器端验证的,改了前端页面毛用都没有~

相关推荐

    1200web操作指南

    - **变量状态页面**:可以实时查看和修改PLC内的变量值,但需要注意不要随意更改以免影响系统稳定。 - **数据日志**:如果PLC被配置记录数据日志,可以通过该页面下载日志文件,并在Excel等工具中进行分析。 ##### ...

    中职网络安全竞赛-隐藏信息探索-web2-自己建立的题目环境

    访问页面是一个加法计算题目:****但是输入框里面只能输入一个数字,打开开发者模式修改maxlength为10:然后可以输入结果得到flag 2、当浏览器访问swp文件时,应该显示其内容或打开下载页面。但测试时没有反应。 第3...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    综上所述,“认我测”在线认证检测系统,率先填补了认证检测领域移动端的空缺,提供了Web浏览器+移动端的双端访问模式,给用户提供了多种访问途径,真正实现了用户和检测机构的随时随地在线下单检测。 关键词:...

    OpenWrt启动Web界面.zip

    这个"OpenWrt启动Web界面.zip"压缩包文件很可能包含了一套步骤或工具,帮助用户在安装了OpenWrt的路由器上设置和访问Web管理界面。Web界面是OpenWrt的一个重要组成部分,允许用户通过浏览器进行配置、管理和监控...

    傲游浏览器教你如何保护上网隐私.docx

    傲游浏览器的“隐私浏览模式”是一种无痕浏览方式,它会自动清除访问记录、Cookies、搜索历史、下载历史、Web表单数据和临时文件。当用户开启隐私浏览模式后,即使关闭浏览器,这些数据都不会被保存,从而避免了...

    随意变换网站皮肤

    "随意变换网站皮肤"这个功能,让用户可以根据自己的喜好和心情调整网站的整体视觉风格,为网站增添互动性和趣味性。实现这一功能主要涉及的技术是CSS(层叠样式表)的变换应用。 CSS作为网页样式控制的核心语言,...

    校园网登陆页面

    【校园网登陆页面】是大学生日常生活中不可或缺的一部分,它提供了便捷的网络接入方式,使得学生能够在校园内轻松访问互联网。了解校园网的登录过程和相关技术对于每一个在校大学生来说都是必要的知识。 首先,校园...

    editthiscookie

    4. **浏览器扩展(插件)**:浏览器扩展是增强浏览器功能的小型软件,如EditThisCookie,它们可以通过浏览器的Web扩展API(如Chrome的)来访问和修改网页内容。CRX文件是这些扩展的封装形式,包含所有必要的代码和...

    基于ASP的网上考试系统(源代码+论文).rar

    试题库与在线考试系统采用ASP、HTML、Frontpage2000/98、Javascript、VBScript、Java编程语言、图形编辑与数据库等工具,通过基于WEB服务器访问纯WEB页面,实现在线组卷与考试等各项相关的功能。 它是专门用于试题...

    基于ASP的网上考试系统(源代码).zip

    试题库与在线考试系统采用ASP、HTML、Frontpage2000/98、Javascript、VBScript、Java编程语言、图形编辑与数据库等工具,通过基于WEB服务器访问纯WEB页面,实现在线组卷与考试等各项相关的功能。 它是专门用于试题...

    谷歌浏览器插件Allow-Control-Allow-Origin最方便最快捷直接下载

    在Web开发中,由于浏览器的安全策略,不同源的网页之间不能随意交换数据,这就是跨域限制。而这个插件允许用户在浏览网页时临时开启或者允许特定的跨域请求,使得开发者在调试或测试过程中能够绕过这一限制,方便地...

    Java Web应用开发 02 课堂案例-体验eBuy电子商城的功能.docx

    【Java Web应用开发 02 课堂案例-体验...同时,案例还强调了在实际环境中谨慎操作的重要性,如避免随意下单,因为订单一旦确认,其信息通常不可更改。此外,后台管理功能的实践有助于理解企业级应用的维护和数据管理。

    flash相册,可修改随便换图片

    总结来说,这个压缩包包含了一个完整的Flash相册解决方案,用户可以利用提供的`viewer.fla`进行编辑,通过`viewer.as`控制相册逻辑,借助`pics.xml`管理图片,然后在Web页面上嵌入`viewer.swf`来展示个性化的Flash...

    中兴F460光猫网页文件名

    在实际操作中,为了保护设备安全,不建议随意修改这些文件,尤其是配置文件,以免引起设备运行异常。如有必要进行修改,应先备份原始文件,并确保对网络设备操作有足够的了解。对于`1.txt`这个文件,如果它是文件...

    JavaScript解决跨域滚动条

    由于浏览器的同源策略限制,一个源(Origin,由协议、域名和端口组成)的JavaScript不能随意访问另一个源的资源,这包括读取或修改DOM、发送Ajax请求等。在本例中,"JavaScript解决跨域滚动条"的问题,指的是当主...

    2014版传智播客笔试面试宝典

    总结而言,本文档中的知识点涵盖了面向对象编程的基本概念、数据库访问技术、Web开发中的数据传递方法以及C#中的高级特性等。这些知识点对于准备笔试和面试的开发者来说非常重要,能够帮助他们更好地理解和掌握相关...

    JavaWeb摸底测试题.docx

    1. 访问 Web 应用未指定资源时,默认页面会被加载,说法正确。 2. 修改 Tomcat 的 `server.xml` 配置后,通常需要重启服务器使更改生效,正确。 3. Web 应用下的子目录命名应遵循一定的规则,不能随意,错误。 4. 一...

    爱革CMS(门户网站) 3.0.rar

    甚至通过修改模板设置,可以把任何一个页面设置成动态页面或者是静态页面。 18.一键切换模板 模板是按栏目更换,灵活性更强。 19.兼容所有主流浏览器 ◦全面采用WEB标准设计,兼容性更好 ◦使用HTML,CSS,...

    爱革CMS(公司网站) 3.0.rar

    甚至通过修改模板设置,可以把任何一个页面设置成动态页面或者是静态页面。 18.一键切换模板 模板是按栏目更换,灵活性更强。 19.兼容所有主流浏览器 ◦全面采用WEB标准设计,兼容性更好 ◦使用HTML,CSS,...

Global site tag (gtag.js) - Google Analytics