小编Wil*_*gan的帖子

HTTP 401 - 什么是适当的WWW-Authenticate标头值?

我正在处理的应用程序有一个会话超时值.如果用户之间的交互时间不超过此值,则会尝试加载下一页,然后系统会提示他们登录.

所有发出的请求都通过这种机制进行路由,其中​​包括AJAX调用.最初我们在登录页面上发送了200个头文件,这引入了AJAX的一些问题,因为如果发送了200个响应,则运行代码,并且从这些RPC调用发回的大多数数据是JSON或得到评估的原始JavaScript(不问:|).

我建议401更好,因为我们的JSON解析器不会尝试使用HTML登录页面.. :)

但是,在阅读规范时,我注意到该WWW-Authenticate字段也必须发送.

这个领域有什么好处?会Application Login满足吗?

xmlhttprequest http-headers

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

为什么jQuery UI的datepicker会破坏动态DOM?

我在这里使用动态DOM,并将jQuery UI datepicker调用到具有特定类名的所有输入,在这种情况下 .date

它适用于第一个静态构造,但是当我克隆它时,事件处理程序似乎不想移动.我收到Firebug错误:

inst未定义

我试着研究jQuery的新live()功能,但无法将两者结合起来.有任何想法吗?

jquery-ui dynamic-data

31
推荐指数
2
解决办法
3万
查看次数

盐需要多长时间才能使字典攻击变得不可行?

我正在设计一个如下所示的身份验证系统:

  1. 用户输入密码
  2. 生成盐.
  3. 密码与漩涡进行哈希处理
  4. 惠而浦密码与普通盐连接密码
  5. 连接版本使用sha1进行哈希处理并存储在数据库中.
  6. 我通过在应用程序层上散列密码来检查密码是否正确,然后执行此操作(在MySQL中):

MySQL的

WHERE `Password` = SHA1(CONCAT('$hashedPassword',`Salt`)) AND [..]
Run Code Online (Sandbox Code Playgroud)

目前我的盐是64字节.这足以使词典攻击变得不可行吗?

我确定sha1已知漏洞,但它是我可以在数据库层使用的我的MySQL(5.1)版本上唯一可用的功能,而不是通过应用程序和数据库层之间的连接选择普通的盐.

security encryption passwords cryptography salt

14
推荐指数
2
解决办法
9620
查看次数

如何加快PHPUnit + DBUnit测试套件的执行速度?

我正在使用PHPUnit/DBUnit来解决一些真正的速度问题.任何扩展都PHPUnit_Extensions_Database_TestCase需要永远运行.通过189次测试,该套件大约需要8-9分钟.我有点希望最多需要30秒;-)

看起来将数据库恢复到其初始状态是花费时间的过程,因此我们使数据集尽可能小并限制每个测试用例所需的表数.我正在使用灯具并尽可能地分享.

我可以使用任何设置或修改来加快执行速度吗?看看MySQL服务器在整个测试过程中做了什么,似乎发生了大量的截断/插入,但是将测试数据集打包到临时表中然后只需为每个测试选择它们会更快吗?

我正在使用的驱动程序是带有XML测试数据集的PDO/MySQL.

php phpunit dbunit pdo unit-testing

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

使用jQuery将HTML注入DOM的最佳方法是什么?

我正在制作一个日历页面,允许用户点击一天,然后使用弹出的表单输入当天的条目.

我对jQuery的DOM操作并不陌生,但这是我以前做过的事情,我开始怀疑是否有更有效的方法来做到这一点?

在JavaScript中手动构建HTML是性能最有效的方式(我认为这是真的,使用像appendTo()等函数)或者在DOM中创建一个隐藏的构造然后克隆它会更好吗?

理想情况下,我想知道这样做的最佳方法,以提供代码整洁性和性能之间的平衡.

谢谢,

html javascript jquery dom code-injection

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

在CSS中悬停对不规则多边形的影响

我想知道如何为类似于此图像的地图标记和编码悬停效果.

当每个区(或部分)被鼠标悬停/触摸/点击时,我需要更改它的颜色而不影响任何其他部分.每个部分的边界必须代表图像,不应该是正方形.该解决方案无法使用canvas,因为我正在使用的网站必须可以在旧浏览器中使用(我个人已经内脏了.)

理想情况下,我想用CSS做这个,而不使用太多的JavaScript或大量的图像.有没有人这样做过?

编辑:我知道人们建议<area>标签,但AFAIK,它不接受:hover伪类.

编辑2:我可能会用这个:http://www.netzgesta.de/mapper/

javascript css image imagemap hover

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

使用MySQL和ejabberd进行高效的外部排班

请注意,使用Eugen的观点,下面的解决方案就在下面!

我正在为PHP/MySQL用户驱动的网站编写聊天模块,允许两个用户结交朋友,并为聊天系统选择了eJabberd.

我已经使用PHP守护程序成功设置了外部身份验证,现在我已成功通过手动使用mod_roster_odbc和填充MySQL rosterusers表来获得与eJabberd的友谊.经过大量的挖掘,我设法发现这个特别的评论非常有助于知道每列的设置,以便在聊天模块的朋友列表中表示友谊.

我当前处理友谊的方法是在rosterusers表中插入两行:

# Relationship user1 => user2
INSERT INTO rosterusers (username, jid, subscription, ask, server, type)
VALUES ('user1', 'user2@myserver.org', 'B', 'N', 'B', 'item');

# Relationship user2 => user1
INSERT INTO rosterusers (username, jid, subscription, ask, server, type)
VALUES ('user2', 'user1@myserver.org', 'B', 'N', 'B', 'item');
Run Code Online (Sandbox Code Playgroud)

我对此并不满意,因为互惠友谊需要两排.

据我所知,XMPP标准允许用户之间的单链路和双链路.正如我可以通过我的问题的性质推断出,我自己的应用程序的朋友系统使用一行来表示友谊.

我的主要问题:

  1. 是否有可能将这种友谊合并到一排?我尝试过这些非官方文档的一些组合,但没有成功.我正在使用Pidgin客户端连接到我的XMPP服务器进行测试.
  2. 保持两个数据库(朋友和XMPP名单)同步的最佳方法是什么?我认为MySQL TRIGGER可能是目前最干净的选择.

如果没有,那么我的另一个选择是更改rosterusers表并获取它以引用我自己的应用程序的朋友行,以便它的功能类似于跨数据库外键.

解决方案代码

我创建了一个欧根建议的视图.代码不是最优雅的,但我已经测试了它,它适用于MySQL 5.5上的eJabberd 2.1.

我的确切设置使用两个数据库,因此我使用显式引用我的主应用程序的数据库main_database.table_name.

代码是两个查询的联合 - 第一个使用User,Friend,然后第二个插入Friend,User.我正在使用UNION ALL速度,并让"重复"通过. …

mysql erlang xmpp ejabberd

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

使用Action Script获取IP地址?

是否可以通过Flash(swf)Action Script 3获取客户端IP地址,然后将其传递给php文件以将其存储在数据库中?

php actionscript ip-address actionscript-3

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

什么是PHP"资源"类型?

我只是想加深对资源类型的理解,我不确定为什么它首先被发明了.

根据我的经验,在架构上,您只需要将资源作为其他函数的依赖项发送到您正在执行的同一操作中,但是您永远不会将该资源发送到程序的单独部分.当然只是一个标准对象就足够了?

我错过了什么吗?什么是资源/应该如何使用?

php

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

PDO:获取类选项以将字段作为数组发送到构造函数

嘿伙计们(和女孩们?)我想知道是否可以优雅地将PDO查询的结果映射到类中的数组成员,而不是让它们作为该对象的公共属性浮动.

说我有(浓缩)以下内容:

class DBObject {

    protected
        $record = array();

    function __construct(array $record) {
        if(!empty($record)) {
            $this->loadRecord($record);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想使用从数据库传递的值数组调用构造函数,而不是使用__set或任何其他奇怪的方法.所以使用PDO现有的API会很棒.

我目前的粗略get_all功能已经达到了这个目的:

static function get_all() {
    $class = get_called_class();
    $results = DB::factory()->query('SELECT * FROM ' . $class . ' ORDER BY ID');
    $results->setFetchMode(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE, $class);
    return $results;
}
Run Code Online (Sandbox Code Playgroud)

注意:我正在通过PDO运行PHP 5.3和MySQL,并且已经知道使用__set可以解决这个问题,但我明确地希望避免使用它来支持更高性能的东西.

php oop orm pdo

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

关闭重载:是否可以检查PHP闭包的参数数量而不执行它?

我想做的事

我想检查一个闭包(作为变量传递)以确定它期望的参数数量.从本质上讲,我想在传统意义上重载一个闭包,只是以不同的方式处理它.

function someMethod(Closure $callback) {
    $varA;
    $varB;
    $varC;
    if($callback->getNumArgs() == 3) {
        $callback($varA, $varB, $varC);
    }
    else {
        $callback($varC, $varA);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果可以更好地解释这一点,请告诉我,以便进行编辑.

背景资料

根据闭包所用的参数数量,我将调整它的调用方式.我需要这样做以通过循环节省昂贵的迭代.

请注意

  • 我使用的是PHP5.3
  • 提醒一下,我不想执行该功能因此无法使用 func_num_args

php closures overloading

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

在 mapStateToProps 中处理应用程序错误的有效方法?

我正在寻找关于在 mapStateToProps 中处理错误的最健壮和可靠的方法的建议,如果甚至建议在 React+Redux 应用程序中尝试此级别的方法是否可行。

例如,如果我将react-redux'sconnect与一个组件和一个一起使用mapStateToProps

function mapStateToProps(state, ownProps) {
    throw Error('Some unfortunate error.');
    return {
        // some data
    }
}
Run Code Online (Sandbox Code Playgroud)

我想捕获此错误,并可能在渲染组件的位置显示一个错误组件。我不会尝试恢复 - 只是拿起并继续前进。

目前我注意到这完全停止了 React,并且页面可能需要重新加载: Uncaught TypeError: Cannot read property 'getHostNode' of null

reactjs redux react-redux

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

当我只想调用函数时,eval()的更安全的替代方法是什么?

我知道PHP有call_user_func,我只是想知道JavaScript是否有类似的东西,我要调用的方法是,例如:object.set$fieldID($fieldValue)

我宁愿不通过if/else/switch块来正确执行一行代码.

如果它有帮助,我使用jQuery.

javascript eval

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