小编ric*_*ler的帖子

如何暂时禁用现代浏览器中的XSS保护进行测试?

是否可以暂时禁用现代浏览器中的XSS保护以进行测试?

我试图向同事解释当将其发送到易受XSS攻击的Web表单时会发生什么:

<script>alert("Danger");</script>
Run Code Online (Sandbox Code Playgroud)

但是,Chrome和Firefox似乎都在阻止XSS弹出窗口.我可以禁用此保护,以便完全看到我的操作结果吗?

html javascript security xss

33
推荐指数
3
解决办法
8万
查看次数

如果用户在页面加载完成之前离开页面,则会触发jQuery ajaxError()处理程序

我们使用jQuery的全局ajaxError()处理程序来警告用户任何AJAX失败:

$(document).ajaxError(function() {  
    $("There was a network or server error. Please try again later.").dialog({  
        title: "Error",  
        modal: true,  
        resizable: false,  
        buttons: { 'Ok': function() { (this).dialog("close"); } }  
    });  
});  
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果用户在完成加载之前离开页面,也会触发此全局错误处理程序.以下是重现错误的步骤:

  1. 用户访问页面A,其中包含通过AJAX加载的元素.
  2. 页面A上的AJAX元素开始加载.
  3. 在页面A上的AJAX元素完成加载之前,用户单击链接以访问页面B.
  4. 在浏览器重定向到页面B之前,会短暂显示错误对话框.

知道如何在访问新页面的用户直接引起错误时,如何让ajaxError()不被触发?

更新:在结合评论中的建议后,现在是我的代码:

// I added a 3 second delay to our error dialog, enough time
// for the user to leave for a new page:
$(document).ajaxError(function() {
    setTimeout(my_error_handler, 3000);
});

// Warn user before leaving page if AJAX is still loading.
// Not …
Run Code Online (Sandbox Code Playgroud)

ajax jquery global handler

25
推荐指数
2
解决办法
5444
查看次数

Puppet中的字符串替换?

是否可以使用正则表达式在Puppet中进行字符串替换/转换?

如果$ hostname是"web1",我希望$ hostname_without_number为"web".以下是无效的Puppet语法,但我想我需要这样的东西:

$hostname_without_number = $hostname.gsub(/\d+$/, '')
Run Code Online (Sandbox Code Playgroud)

ruby puppet

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

128位散列的任何64位部分是否像64位散列一样防冲突?

我们正试图在我们的开发团队中解决内部争论:

我们正在寻找64位PHP哈希函数.我们发现了MurmurHash3PHP实现,但MurmurHash3是32位或128位,而不是64位.

同事#1认为,要从MurmurHash3生成64位散列,我们可以简单地对128位散列的第一个(或最后一个或任何)64位进行切片,并且它将像本机一样防碰撞64位散列函数.

同事#2认为我们必须找到一个原生的64位散列函数来减少冲突,并且128位散列的64位片段不会像本机64位散列那样具有抗冲突性.

谁是对的?

如果我们采用像SHA1而不是Murmur3这样的加密哈希的第一个(或最后一个或任何)64位,答案是否会改变?

hash cryptography sha1 murmurhash

17
推荐指数
2
解决办法
3717
查看次数

我可以用PECL安装memcached PHP扩展吗?

我在从PECL 安装" memcached "PHP扩展时遇到问题,尽管我可以成功安装" memcache "扩展.(它们是单独的PHP扩展.)

例如,这些命令可以正常工作:

$ sudo pecl install memcache
$ sudo pecl install APC
$ sudo pecl install oauth

但是,尝试安装memcached会导致错误:

$ sudo pecl install memcached
...
ld:找不到-lmemcached的
库:collect2:ld返回1退出状态
make:***[memcached.la]错误1
错误:`make'失败

我在最近的Intel Mac上使用来自Mac Ports(macports.org)的pecl,memcached和libmemcached.libmemcached库可以在/ opt/local中找到:

/ opt/local/include/libmemcached
/opt/local/include/libmemcached/libmemcached_config.h
/opt/local/lib/libmemcached.2.0.0.dylib
/opt/local/lib/libmemcached.2.dylib
/opt/local /lib/libmemcached.a
/opt/local/lib/libmemcached.dylib
/opt/local/lib/libmemcached.la

知道我可能做错了吗?

php macos memcached pecl

11
推荐指数
1
解决办法
3万
查看次数

在Ubuntu 11.04上安装Nginx 1.0.5时如何使用Puppet依赖项

我是Puppet的新手,对使用依赖项有疑问.

我正在使用Puppet在Ubuntu 11.04上安装Nginx 1.0.5.它需要添加一个新的apt存储库,因为natty通常带有Nginx 0.8.在命令行,安装如下:

# apt-get install python-software-properties
# add-apt-repository ppa:nginx/stable
# apt-get update
# apt-get install nginx
Run Code Online (Sandbox Code Playgroud)

所以我写了这个Puppet脚本:

class nginx::install {
  package { "nginx":
    ensure => present,
    require => Exec["nginx_repository"],
  }

  exec { "add-apt-repository ppa:nginx/stable && apt-get update":
    alias => "nginx_repository",
    require => Package["python-software-properties"],
  }

  package { "python-software-properties":
    ensure => installed,
  }
}
Run Code Online (Sandbox Code Playgroud)

该脚本有效,但exec {}指令每次都运行,而不是仅在实际安装nginx时运行.理想情况下,我希望"apt"命令只能在实际的nginx安装之前运行,而不是在简单地检查nginx安装时.

我对通知/订阅模型有基本的了解,但我不确定如何让nginx指令仅在实际安装nginx时发送"通知"信号.

ubuntu nginx puppet ubuntu-11.04

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