问题列表 - 第18562页

PHP的基本身份验证和会话管理库?

我知道很多次都会问这样的问题,但不是这个问题.如果我忽略了一个明显的重复,请原谅我.

在我的许多Web应用程序的核心是一个自编写的用户/会话管理类,其起源可以追溯到2002年.我已经决定是时候进行基本的重写了,或者最好是引入一个就绪的制作标准库.

我对该库的要求是:

  • 面向对象,干净,优秀的代码
  • 完整的会话管理:包装到session_start()和consorts
  • 理想情况下会提供各种存储方法(PHP标准/ tmp,基于数据库)
  • 理想情况下能够连接到不同类型的用户数据存储,但mySQL会很好
  • 理想情况下,它将提供方便的功能来支持OpenID,但这是一个奇特的想法,现在没有要求
  • 方法:验证会话,获取用户数据,获取会话数据,登录用户,注销用户
  • 设置:会话生存期,密码加密
  • 必须是开源的

如果它非常通用,用户管理API 周围应用程序的用户管理的通用连接器将是很好的:

  • 创建/更新/删除用户记录
  • 获取并修改当前登录用户的数据

这是非常基本的,因此安全相关,我希望有一个标准的解决方案,但我不知道,所有大型CMS和博客似乎都在推动自己.

我的两个问题:

  • 您是否知道这样的组件是通用的独立库?

  • Zend Framework中有深入了解的人能否告诉我是否可以单独使用Zend_auth和/或Zend_session ,这是一个与ZF无关的大型应用程序的核心,而不会遇到麻烦?

php authentication

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

jQuery自动完成特殊字符(挪威语)问题

我在我的挪威网站上使用jQuery的自动完成功能.当输入挪威字符æ,ø和å时,自动完成功能会建议具有相应字符的单词,但不会显示以相应字符开头的单词.看起来我要设法在单词中间对挪威字符进行字符编码,而不是以字母开头的字符.

我正在使用带有我自己的函数的PHP脚本将挪威字符编码为UTF-8并生成自动完成列表.

这真是令人沮丧!

码:

PHP代码:

$q = strtolower($_REQUEST["q"]);
if (!$q) return;

function rewrite($string){

 $to = array('%E6','%F8','%E5','%F6','%EB','%E4','%C6','%D8','%C5','%C4','%D6','%CB', '%FC', '+', ' ');
 $from = array('æ', 'ø', 'å', 'ä', 'ö', 'ë', 'æ', 'ø', 'å', 'ä', 'ö', 'ë', '-', '-');

 $string = str_replace($from, $to, $string);

 return $string;
}
Run Code Online (Sandbox Code Playgroud)

$items 是一个包含建议词的数组.

foreach ($items as $key=>$value) {
  if (strpos(strtolower(rewrite($key)), $q) !== false) {
    echo utf8_encode($key)."\n";
  }
}
Run Code Online (Sandbox Code Playgroud)

jQuery代码:

$(document).ready(function(){
$("#autocomplete").autocomplete("/search_words.php", {
        position: 'after',
        selectFirst: false,
        minChars: 3,
        width: 240,
        cacheLength: 100,
        delay: 0
        }
    )
} …
Run Code Online (Sandbox Code Playgroud)

javascript php jquery

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

是否有一个通用的数据结构,表示Java中的列表映射

我正在寻找具有a的功能的通用数据结构 Map<K, List<V>>

目前我所做的就像是

public class MapOfLists <K,V>{

     private Map<K, List<V>> map = new HashMap<K, List<V>>();

     public void addItem(K key, V value){
        if(!map.containsKey(key)){
            map.put(key, new ArrayList<V>());
        }
        List<V> list = map.get(key);
        list.add(value);
     }
     ...
}
Run Code Online (Sandbox Code Playgroud)

是不是有更通用的解决方案?我是重新发明轮子(还是一个不那么重要的神器)

java data-structures

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

处理ORACLE例外

我需要处理ORA-01400错误(无法使用异常句柄将NULL插入("SCHEMA"."TABLE_NAME"."COLUMN_NAME")).

ORACLE预定义了一些例外(例如ACCESS_INTO_NULL,ZERO_DIVIDE等),但显然没有为ORA-01400错误定义异常,我该如何处理这个特定的错误代码?

我需要这样的东西(其他建议被接受).

....
 ...     
 INSERT INTO MY_TABLE (CODE, NAME) VALUES (aCode,aName);
 COMMIT;
   EXCEPTION
     WHEN NULL_VALUES THEN /* i don't know this value , exist?*/
       Do_MyStuff();
     WHEN OTHERS THEN
       raise_application_error(SQLCODE,MY_OWN_FORMAT_EXCEPTION(SQLCODE,SQLERRM),TRUE); 
    END;
Run Code Online (Sandbox Code Playgroud)

oracle plsql exception-handling ora-01400

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

eval在评估中产生问题

我使用eval将字符串小数转换为小数.

eval("000451.01");
Run Code Online (Sandbox Code Playgroud)

当我使用上面的语句javascript它会抛出异常'expected;'

当使用eval("000451");它时给我一个不同的结果.

任何人都有任何想法?

javascript eval exception

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

创建使用控制反转的对象

我正在创建一个CSV阅读器(是的,我知道Fast CSV Reader和FileHelpers).CsvReader类使用CsvParser类来解析CSV文件.我想使CsvReader类单元可测试,所以我希望能够在外部设置所使用的CsvParser类(同样,您也可以创建自己的实现).我也不想创建一个解析器并在正常使用时传递它.

这就是我想用它的方式.

var reader = new CsvReader( "path/to/file.csv" );
Run Code Online (Sandbox Code Playgroud)

执行此操作时,我可以在CsvReader的构造函数中创建CsvParser,并具有更改解析器的属性.

public ICsvParser Parser { get; set; }

public CsvReader( filePath )
{
    Parser = new CsvParser( filepath );
}
Run Code Online (Sandbox Code Playgroud)

但是在单元测试时,总是创建默认解析器,我只想测试CsvReader.

解析器可以传递给构造函数,但我不想在正常使用时单独创建解析器.这似乎是一个工厂的好地方.

这似乎是使用IOC时的常见问题.对此有什么好的解决方案?

c# dependency-injection inversion-of-control

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

使用VBScript查找并替换我的文本中的字符串

我正在搜索在文件中进行搜索和替换的VBScript(例如1.txt 2.xml).我有文件"1.txt"里面有"临时"这个词,我想把它改成"永久".因为我得到了很多这个文件,所以我需要一个脚本.

每次我尝试编写包含打开txt文件和命令替换的脚本时,它都不会.

我找到了一个脚本,用另一个文件更改了这个文件并在里面进行了更改,但这不是我想要的.

vbscript

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

如何使用Haskell编写CGI脚本?

我想在Haskell中创建一个Web应用程序(例如,它可能是一个博客,论坛或一些动态网页),我需要什么?

(我知道我需要一个http服务器(例如apache或lighttpd).我也知道我应该知道一些Haskell编程.)

我如何让它们一起工作?我不明白整个包/设置.

我需要mod_haskell或其他模块吗?

请问有人可以向我解释一下apache模块是如何工作的以及如何安装它们的?

apache haskell cgi apache-modules

5
推荐指数
2
解决办法
2985
查看次数

SQL Server CASE WHEN和IN构造

遇到WHERE搜索语句的问题想要使用类似的结构..

WHERE f.foo IN 
   CASE @bar
      WHEN 'BAR' THEN 
         ('FOO','BAR',BAZ')
      WHEN 'BAZ' THEN
         ('FOOBAR','FOOBAZ')
   END
Run Code Online (Sandbox Code Playgroud)

要么

WHERE CASE @bar
      WHEN 'BAR' THEN 
         f.foo IN ('FOO','BAR',BAZ')
      WHEN 'BAZ' THEN
         f.foo IN ('FOOBAR','FOOBAZ')
   END
Run Code Online (Sandbox Code Playgroud)

其中@bar是一个定义正确的临时变量,正确的类型,所有f都很好地定义..

我收到一个关于"错误',''的错误

sql t-sql sql-server

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

使用大而密集的 2D 矩阵快速计算 2D 子矩阵?

在较大的密集矩阵中计算子矩阵的好算法是什么?如果我只有一行数据,我可以使用后缀树,但我不确定将后缀树泛化到更高维度是完全直接的还是这里的最佳方法。

想法?

我对密集矩阵的第一个元素进行索引并消除全矩阵搜索的天真解决方案仅提供了对全矩阵扫描的适度改进。

解决这个问题的最佳方法是什么?

Example:

Input:

Full matrix:
123
212
421

Search matrix:
12  
21  

Output:
2
Run Code Online (Sandbox Code Playgroud)

这个子矩阵在完整矩阵中出现两次,所以输出是 2。完整矩阵可能是 1000x1000,但是,搜索矩阵大到 100x100(可变大小),我需要处理多个搜索矩阵一排。因此,这个问题的蛮力效率太低,无法满足我对几个矩阵的亚秒级搜索时间。

java algorithm performance matrix

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