小编Kev*_*ang的帖子

redis python psubscribe 事件带回调,不调用 .listen()

我正在尝试使用 python 在 redis 中订阅 keyspace 事件。我希望.listen()在调用之后不要使用 for 循环.psubscribe()。这可能吗?

我已经启用了所有键空间事件KEA

def subscribe(self, key, handler):

        # this function never gets called, if I don't add the for-loop with listen() below
        def event_handler(msg):
            print('Handler', msg)

        redis_server = StrictRedis(host='localhost', port=6379, db=0)
        pubsub = redis_server.pubsub()
        subscribe_key = '*'
        pubsub.psubscribe(**{subscribe_key: event_handler})

        # without the following for-loop with listen, the callback never fires. I hope to get rid of this.
        for item in pubsub.listen():
            pass
Run Code Online (Sandbox Code Playgroud)

python redis redis-py

9
推荐指数
1
解决办法
3455
查看次数

Chrome扩展程序Javascript可检测动态加载的内容

我正在实施Chrome扩展应用.我想用标签(在我的webapp的主页上)用"#"替换href属性.问题是标记可能由ajax动态加载,并且可以由用户操作重新加载.关于如何让chrome-extension检测ajax加载的html内容的任何建议?

javascript jquery google-chrome-extension

7
推荐指数
2
解决办法
5793
查看次数

检测是否已注入Chrome扩展程序内容脚本/内容脚本包含防护

我想在更新选项卡时执行内容脚本功能.问题是,有时候标签更新是ajax(没有页面重新加载),同时仍然会更改页面的URL.因此,注入的旧内容脚本仍然存在于页面上.结果是在同一页面上注入并运行了多个内容脚本实例.

所以,我正在寻找一种注入内容脚本的机制,只有在之前没有注入相同的内容脚本时.有任何想法吗?

javascript include google-chrome-extension

7
推荐指数
2
解决办法
5440
查看次数

github GUI 客户端 /dev/tty:设备未配置

我在 .git/hooks/pre-commit 中有这个预提交挂钩

#!/bin/bash
for file in `git diff --name-only`
do
  if [[ $file =~ /pom\.xml$ ]]; then
    exec < /dev/tty
    read -p "Committing $file is often a mistake; are you sure you want to do that? (Y/[N]): " ans
    exec <&-
    if [[ $ans =~ ^[Yy]$ ]]; then
      echo proceeding rashly with commit...
    else
      echo aborting commit, O prudent one.
      exit 1
    fi
  fi
done
Run Code Online (Sandbox Code Playgroud)

当我使用github for mac(GUI客户端)提交时,显示以下错误:

.git/hooks/pre-commit: line 5: /dev/tty: Device not configured
aborting commit, O prudent …
Run Code Online (Sandbox Code Playgroud)

git github github-for-mac

6
推荐指数
1
解决办法
6974
查看次数

javascript可以访问Django CSRF cookie吗?

在 django 网站上,https : //docs.djangoproject.com/en/dev/ref/contrib/csrf/它指出:

The CSRF protection is based on the following things:

1. A CSRF cookie that is set to a random value (a session independent nonce, as it is called), which other sites will not have access to.
2. ...
Run Code Online (Sandbox Code Playgroud)

然后,它还说明可以通过 javascript 从 cookie 中获取 csrf 令牌:

var csrftoken = $.cookie('csrftoken');
Run Code Online (Sandbox Code Playgroud)

这两个说法不矛盾吗?假设有一个跨域攻击,那么攻击者可以从cookie中获取CSRF令牌,然后在标头中使用CSRF令牌进行POST请求?有人可以解释一下吗?

更新

我现在意识到,只有来自同一来源的 javascript 才被允许访问 cookie。一个后续问题是:

如果 POST 请求自动将 cookie 作为请求的一部分添加,并且 django 的 csrf cookie 值与 csrf 令牌相同,那么恶意跨源请求仍然具有正确的 CSRF 令牌?(在饼干中)

django django-csrf

5
推荐指数
1
解决办法
2201
查看次数

检测URL更改(无窗口卸载)

我想在"更改URL之前"事件中添加一个侦听器,并可以访问旧URL.window.onbeforeunload如果页面没有重新加载(AJAX驱动的页面),则不会触发.

例如,当您单击右侧导航栏中的其他视频时,会在YouTube视频页面上发生这种情况.

我看过这篇民意调查的帖子window.location.但这不会捕获旧的URL.

这适用于Chrome扩展程序.我正在寻找一种方法来检测javascript中的URL更改之前.

javascript ajax url google-chrome-extension

5
推荐指数
1
解决办法
4306
查看次数

在 Chrome 扩展程序中安全地存储令牌/密码

我正在实现一个 Chrome 扩展程序,它需要使用令牌访问 3rd 方 API 端点。

假设其他 Chrome 扩展脚本可以访问页面的 localStorage 和 cookie,如何在 Chrome 扩展中安全地存储令牌?

javascript security google-chrome local-storage google-chrome-extension

5
推荐指数
1
解决办法
2062
查看次数

计算机从空闲状态唤醒时检测到铬

我正在制作Chrome扩展程序以接收Chrome Google云消息.我想检测计算机何时从睡眠状态唤醒/重新连接到互联网,以便我的应用程序可以再次开始接收消息.对于我的具体情况,我不希望GCM限制推送,所以我将ttl设置为0,现在或从不提供.(用户设备在空闲时永远不会收到消息.)

在javascript中,如何检测Chrome浏览器何时从空闲状态恢复?

更具体地说,我如何使用chrome在Chrome扩展程序中执行此操作.api电话?

javascript google-chrome google-chrome-extension

4
推荐指数
1
解决办法
1251
查看次数

chrome广播消息到内容脚本

有没有办法将chrome消息广播到chrome扩展的所有内容脚本?

chrome.runtime.sendMessage()将tabId作为输入.但是,如果有多个选项卡与内容脚本一起运行,那么如何向所有选项卡广播?

javascript google-chrome google-chrome-extension

4
推荐指数
1
解决办法
818
查看次数

chrome.notifications.update()或create()

我希望我的chrome扩展程序可以使用notification.id,并且:

  1. 如果现有通知存在,请更新现有通知.要么
  2. 如果新通知不存在,请创建新通知.

clear()然后调用create()是不理想的,因为动画在视觉上对于两者remove()create()方法都是不和谐的,我想在没有动画的情况下进行更新.此外,显然,呼叫update()消失的通知不会做任何事情.

有没有简单的方法来实现这个?

javascript google-chrome-extension

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