标签: browser-extension

调试二进制websockets框架

WiresharkFiddler这样的数据包分析器允许低级数据包转储,并且似乎是调试二进制websocket帧的推荐方法.该方法的主要问题包括安全的websocket层,复杂性,开发过程中的摩擦等.

除了Wireshark之​​外,还有哪些浏览器本机或扩展工具可以看到至少通过Websockets交换的二进制帧的十六进制转储?

编辑:从Chrome 56.0开始,只能观看文本websocket连接的帧(通过调试控制台(F12) - >网络 - >选择websocket连接(以识别:它有101个HTTP状态代码) - > Frames面板); 二进制数据包仍然显示为"二进制帧(操作码2)

browser browser-extension websocket

18
推荐指数
1
解决办法
3566
查看次数

如何从粉丝页面筛选出最活跃的用户?

我正在创建一个新网站.我想使用另一个与主题相关的Web服务来推广它.我想向推广我的第一个网站和粉丝页面的人发送一些礼物.如何筛选出20个用户喜欢/分享/评论我的大多数帖子?

任何合适的编程语言都会很好.

[编辑]

好吧......说实话,我正在寻找解析不是我的粉丝的方法.我想送礼物给我竞争对手粉丝网最活跃的用户,简单地贿赂他们一点:)

javascript facebook browser-extension facebook-page

16
推荐指数
1
解决办法
3810
查看次数

什么可能会改变我在JavaScript中构造的查询字符串参数?

所以这可能需要很长时间,但我完全不知道可能导致此问题的原因:

我正在提供客户端JavaScript,它解析嵌入它的页面上的某些参数,使用这些参数构建URL并使用该URL将iframe注入页面,如:

var queryParams = {
  param: 'foo'
  , other: 'bar'
};
Run Code Online (Sandbox Code Playgroud)

变成了:

<iframe src="http://example.net/iframes/123?param=foo&other=bar"></iframe>
Run Code Online (Sandbox Code Playgroud)

这工作得很好,我每天提供大约150万个请求.然而,我最近注意到,在每天大约3.000个案例中,查询参数的值被洗牌,所以这样请求:

<iframe src="http://example.net/iframes/123?param=ofo&other=rba"></iframe>
Run Code Online (Sandbox Code Playgroud)

从日志来看,这与特定用户有关,并且每个请求都会重新发生字符的混乱,因此当用户使用脚本浏览具有多个页面的站点时,我可以看到这样的序列:

108.161.183.122 - - [14/Sep/2015:15:18:51 +0000] "GET /iframe/ogequl093iwsfr8n?param=3a1bc2 HTTP/1.0" 401 11601 "http://www.example.net/gallery?page=1" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"
108.161.183.122 - - [14/Sep/2015:15:19:07 +0000] "GET /iframe/ogequl093iwsfr8n?param=a21b3c HTTP/1.0" 401 11601 "http://www.example.net/gallery?page=2" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"
108.161.183.122 - - [14/Sep/2015:15:19:29 +0000] "GET /iframe/ogequl093iwsfr8n?param=ba132c HTTP/1.0" 401 11601 "http://www.example.net/gallery?page=3" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"
Run Code Online (Sandbox Code Playgroud)

401正在服务器期望的故意发生param=abc123.

我还注意到大多数错误都发生在Firefox和Safari中,而Google …

javascript safari firefox browser-extension query-string

16
推荐指数
3
解决办法
1714
查看次数

JavaScript完全"篡改安全"变量

所以,这是问题所在.

我有类似的东西:

// Dangerous __hostObject that makes requests bypassing 
// the same-origin policy exposed from other code.
(function(){
    var danger = __hostObject;
})();
delete __hostOBject;
Run Code Online (Sandbox Code Playgroud)

知道没有脚本可以篡改或访问,我是否完全安全__hostObject

(如果可以,我有一个CSRF漏洞或者更糟.)

注1:这适用于浏览器扩展.我有比在页面上运行的其他脚本更好的钩子.我在他们面前执行,在他们甚至装满之前我已经完成了.

注2:我知道一般会多次询问这个脚本.我想知道是否有可能,如果我知道我任何其他脚本之前加载 .

javascript closures browser-extension

13
推荐指数
1
解决办法
249
查看次数

如何为Imagus hover zoom extension开发自定义滤镜?

在我读到Hover Zoom是邪恶的(yikes!)之后,两篇文章让我立即切换到另一篇文章,名为Imagus:

Imagus似乎很适合Hover Zoom也可以做到这一点,但此外,它似乎支持自定义过滤器(支持更多网站),除了它已经包装的庞大数量.

在选项页面中,在Chrome上,过滤器部分看起来很美味:

  截图

然而,与此同时,它似乎写在我称之为Perl Javascript的内容中.

  Perl编码最佳实践

我认为自己精通Javascript,DOM和Regex,但尝试猜测这是做什么只是痛苦,所以我寻找文档.似乎有一个MyOpera博客,现在该项目网站暂时托管在Google Docs上.

该页面没有提及如何开发"过滤器"(或"sieves",如该页面中所写的那样?)

那么,我该如何开发自定义过滤器?我不知道所有可能性(它似乎非常灵活),但即使只是修改URL这样的简单例子也会很好.(/thumb/123.jpg变成/large/123.jpg什么东西).

甚至只是对字段的解释.他们似乎是:

  • link
  • url
  • res
  • img
  • to
  • note < - 可能是评论

javascript regex browser-extension

13
推荐指数
1
解决办法
2778
查看次数

跨浏览器扩展开发替代方案

我想browser extension为所有主流浏览器开发一个.从我所看到的,这可能是非常痛苦的,特别是对于IE.

在开始这个项目之前,我想知道我的基本选择是什么.我能想到两个:

  1. 为每个浏览器独立开发扩展
  2. 雇用某人为我开发扩展程序

还有其他选择吗?

internet-explorer google-chrome firefox-addon browser-extension safari-extension

12
推荐指数
3
解决办法
7450
查看次数

Chrome 扩展图标清单

如何更改此页面中的 Chrome 扩展程序图标?

扩展说明

这是我的清单代码:

{
  "manifest_version": 2,
  "name": "Demo",
  "description": "This is demo.",
  "version": "1.0",
  "browser_action": {
    "default_icon": "icon128.png",
    "icons": {
       "16": "icon16.png",
       "48": "icon48.png",
      "128": "icon128.png"
    },
    "default_popup": "popup.html"
  },
  "permissions": [
    "activeTab",
    "storage"
  ]
}
Run Code Online (Sandbox Code Playgroud)

工具栏上的图标改变了,但chrome://extension页面上没有。

json google-chrome browser-extension google-chrome-extension

12
推荐指数
2
解决办法
1万
查看次数

使用CrossRider作为开发多个浏览器扩展的平台有什么缺点?

与竞争对手相比,我已经阅读了很多使用CrossRider的积极见解,但我没有阅读任何与其任何限制相关的内容(功能,速度,与第三方服务的集成等).

cross-browser browser-extension crossrider

10
推荐指数
2
解决办法
3482
查看次数

browsersync可以在浏览器中注入更新内容而无需刷新吗?

我正在使用browsersync + gulp和一些很酷的浏览器插件,perfectPixel来命名一个.我的问题是每次我保存我的工作,它会强制浏览器重新加载,从而清除浏览器并关闭我的浏览器扩展.这导致我必须重新激活插件并继续这个效率低下的工作流程.有没有人有任何想法?

更新2015年7月7日 在Matthew下面,提供了一些包含websockets的解决方案的链接,但是我无法使用我的gulp设置.

var gulp = require('gulp'),
    open = require('gulp-open'),
    browserSync = require('browser-sync').create();

var WebSocketServer, socket, wss;

WebSocketServer = require('ws').Server;

wss = new WebSocketServer({
    port: 9191
});

var reload = browserSync.reload;

var paths = {
    css: 'app/REPSuite/web/static/css/*.css',
    js: 'app/REPSuite/web/static/js/*.js',
    html: 'app/*.html'
};

gulp.task('reload', function() {
    var client, i, len, ref, results;
    ref = wss.clients;
    results = [];
    for (i = 0, len = ref.length; i < len; i++) {
        client = ref[i];
        results.push(client.send('reload'));
    } …
Run Code Online (Sandbox Code Playgroud)

javascript browser-extension gulp browser-sync

10
推荐指数
1
解决办法
2674
查看次数

密码管理员如何知道我何时成功登录?

所以你知道如何呈现登录界面然后,你填写它,然后浏览器加载下一页?此时,不知何故密码管理器栏会弹出LastPass,1Password或其他某些扩展,询问您是否要保存密码.他们怎么知道你刚刚成功登录?

  • 表单有时会被提交,有时js拦截表单提交并发送AJAX.
  • 响应返回并可能设置一个新的cookie,但有时会继续使用现有的会话cookie(允许会话固定攻击,但某些实现会这样做).
  • 加载或重新加载新位置,但有时javascript会重新加载文档的一部分

但不知何故,这些密码管理器检测到我已成功登录网站!怎么样?是因为我在密码字段中输入了某些内容,然后提交了某个表单或发送了一些网络请求?但他们怎么知道它成功了?

熟悉这些密码管理员的人能够提供一些有用的信息吗?

我问的原因是我想开发一个扩展程序来检测您何时登录并以某种方式尝试从服务中提取您的用户ID.这是为了自动与朋友分享您的用户ID,并让他们知道(经过您的许可)您正在使用的网站.

有关在服务上提取登录用户ID的技术的任何提示也会有所帮助.

javascript passwords google-chrome browser-extension lastpass

10
推荐指数
4
解决办法
870
查看次数