热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

拦截源自网页的每个请求-Intercepteveryrequestoriginatingfromawebpage

Isitpossibletointercepteveryrequestmadefromapageusingjavascript?i.e.Clickingonalink

Is it possible to intercept every request made from a page using Javascript? i.e. Clicking on a link, loading an image, ajax request...

是否可以使用Javascript拦截从页面发出的每个请求?即点击链接,加载图片,ajax请求......

2 个解决方案

#1


7  

In a word, no. There's no place you can hook into to get all the requests.

总之,没有。没有地方可以挂钩来获取所有请求。

Having said that, you can us Javascript to place event handlers on the links, look at the src attribute of image tags and so on. There's no "generic" way to hook into all the AJAX requests - it depends on the library you're using.

话虽如此,你可以使用Javascript在链接上放置事件处理程序,查看图像标记的src属性等等。没有“通用”方法来挂钩所有AJAX请求 - 它取决于您正在使用的库。

There are other things to consider, such as CSS background images, Flash (what if a flash file makes a request?).

还有其他需要考虑的事情,比如CSS背景图片,Flash(如果flash文件发出请求会怎样?)。

If possible you should be using the browser itself (e.g. Firebug) or a proxy (e.g. Fiddler) or a packet sniffer (e.g. Ethereal... seems to be WireShark now)

如果可能的话,你应该使用浏览器本身(例如Firebug)或代理(例如Fiddler)或数据包嗅探器(例如Ethereal ......现在似乎是WireShark)

#2


0  

Greg's right, there's no one place you can hook into all the requests. Having said that, what is your end goal in rewriting all the requests? If you need to add a "parameter" to every request and then use it on the server side, one way to do it is the host header. You can modify the host header on the server side (i.e. redirect the user from your-site.com to your-parameter.your-site.com) and all the requests after that will have *your-parameter" in it. On the server-side, you can use url-rewriting techniques to modify the url to your-site.com?parameter=your-parameter.

格雷格是对的,没有一个地方可以挂钩所有请求。话虽如此,重写所有请求的最终目标是什么?如果您需要为每个请求添加“参数”,然后在服务器端使用它,那么一种方法是主机头。您可以修改服务器端的主机头(即将用户从your-site.com重定向到your-parameter.your-site.com),之后的所有请求都将包含* your-parameter“。在服务器端,您可以使用网址重写技术将网址修改为your-site.com?parameter=your-parameter。

For redirecting use the http 302 response code. Appropriate url-rewriting component will need to be set up on the server-side (mod_rewrite for apache, ISAPIrewrite for ASP.NET)

对于重定向使用http 302响应代码。需要在服务器端设置适当的url-rewriting组件(mod_rewrite用于apache,ISAPIrewrite用于ASP.NET)

Some points to noted: 1) The user will not be logged out since the sub-domains and domains share the session COOKIE 2) You will need to set up wildcard mapping on your DNS server 3) The browser caching will not be as effective 4) You need to analyze the "business-impact" of a changed url

需要注意的一些要点:1)由于子域和域共享会话COOKIE,用户将不会被注销2)您需要在DNS服务器上设置通配符映射3)浏览器缓存不会有效4 )您需要分析更改的网址的“业务影响”


推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • 探索Web 2.0新概念:Widget
    尽管你可能尚未注意到Widget,但正如几年前对RSS的陌生一样,这一概念正逐渐走入大众视野。据美国某权威杂志预测,2007年将是Widget年。本文将详细介绍Widget的定义、功能及其未来发展趋势。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 本文详细解析了 Python 2.x 版本中 `urllib` 模块的核心功能与应用实例,重点介绍了 `urlopen()` 和 `urlretrieve()` 方法的使用技巧。其中,`urlopen()` 方法用于发送网络请求并获取响应内容,而 `urlretrieve()` 方法则用于下载文件并保存到本地。文章通过具体示例展示了这两个方法在实际开发中的应用场景,帮助读者更好地理解和掌握 `urllib` 模块的使用。 ... [详细]
  • 整合百度UEditor编辑器于ASP后端的实现步骤与技巧
    随着微软停止对XP系统的支持,公司已全面升级至Windows 7。早期网站创建时使用的编辑器仅兼容IE6浏览器,而如今系统更新后,原有的编辑器已无法满足新环境的需求。本文详细介绍了如何将百度UEditor编辑器整合到ASP后端,包括实现步骤和实用技巧,确保网站在新系统下仍能高效运行并提供良好的用户体验。 ... [详细]
  • 开发工具WebDeveloper1.1.8https:addons.mozilla.orgen-USfirefoxaddon60以工具栏的形式对网页的(X)HTML、脚本、多媒体、 ... [详细]
  • 导读:今天编程笔记来给各位分享关于PHP的前端用什么工具的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
author-avatar
阿日小子很顽强_756
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有