小编Mik*_*ike的帖子

“随机”盐与“独特”盐相比有什么好处?

我目前正在编写一个程序,其中一部分涉及安全地创建密码哈希以存储在数据库中,我遇到了phpass框架,这似乎是强烈推荐的。在 phpass 中,他们似乎不遗余力地生成尽可能真正随机的盐以用于散列(例如从 /dev/urandom 读取)。

我的问题是,与简单地使用相比,这样做有什么好处uniqid()?关键不是简单地确保用于散列的盐彼此不同而不是随机的吗?使用真正随机的盐实际上不会比使用独特的盐更糟糕,因为它可能会产生碰撞而 uniqid() 不会?

编辑:我的问题不是关于计算机环境中是否存在“真正的”随机性,所以也许我用词不当,但是我的问题更接近于“更多”随机盐是否比更多独特性有任何好处作为盐。

php security passwords hash phpass

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

如何使用PHP编码URL包含Unicode字符

目前,我正在尝试寻找一种解码来编码包含unicode字符的高棉语字符,高棉语.我尝试过使用php内置函数urlencode()并给出结果:例如:http://www.example.com/? kwd = Mac + Book + Pro +នៅប្រទេសយើង

虽然我使用Google搜索进行了测试,但结果是:https: //www.google.com.kh/#hl=en&sclient=psy-ab&q=Mac+Book+Pro+%E1%9E%93%E1%9F%85 %E1%9E%94%E1%9F%92%E1%9E%9A%E1%9E%91%E1%9F%81%E1%9E%9F%E1%9E%99%E1%9E%BE%E1 %9E%84&OQ = MAC +书+临+%E1%9E%93%E1%9F%85%E1%9E%94%E1%9F%92%E1%9E%9A%E1%9E%91%E1%9F %81%E1%9E 9F%%E1%9E%99%E1%9E%BE%E1%9E%84

怎么做?希望有人在这里帮助我.提前致谢!

php urlencode

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

在jQuery中发送到.always的参数是什么?

我找不到有关该always()方法参数的文档.

现在,我只是使用:

$.post("foo.do", {
    ...
}, function(data) {
    ...
}).fail(function(jqXHR, textStatus, errorThrown) {
    ...
}).always(function() {
    ...
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

PHP文件下载而不是执行 - WAMP服务器

我正在使用WAMP服务器来运行我的PHP脚本.我在WWW文件夹中创建了一个测试文件夹,并尝试使用HTML表单操作执行PHP脚本.但它不是执行,而是下载PHP文件.可能的原因是什么?

Apache 2.4.9 PHP 5.5.12

<!DOCTYPE html>
<html>
<body>

<form enctype="multipart/form-data" action="uploader.php" method="POST">
  <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
  Choose a file to upload: <input name="uploadedfile" type="file" /><br />
  <input type="submit" value="Upload File" />
</form>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

PHP脚本(uploader.php)

<?php
 phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)

php wamp

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

Memcached 无法在网络浏览器中工作,但使用 php 命令可以工作

我有下面的 testMemcached.php 代码。

<?php
include_once "common.php";
include_once "api.php";
class TestMemcached extends API{
    function impl(){
         $m = $this->getMem();
         $stats = $m->getStats();
         var_dump($stats);

        $m->add("Key","test");
        echo "Value:".$m->get("Key");
    }
}
$api = new TestMemcached();
$api->go();
Run Code Online (Sandbox Code Playgroud)

我在网络浏览器中运行 testMemcached.php。我明白了bool(false) Value:

我运行php -f testMemcached.php命令然后得到下面的输出。

array(1) {
  ["localhost:11211"]=>
  array(24) {
    ["pid"]=>
    int(10218)
     ....(skip)
    ["version"]=>
    string(6) "1.4.15"
  }
}
Value:test
Run Code Online (Sandbox Code Playgroud)

我不知道有什么区别以及如何修复 memcached 在网络浏览器中无法工作的问题。

我的环境:CentOS 7.LNMP。

2018/05/23 更新: 我用来telnet 127.0.0.1 11211测试 memcached 功能,我发现它add不起作用set

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character …
Run Code Online (Sandbox Code Playgroud)

php memcached

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

某些perl文件中的行为不一致且莫名其妙

主机是Linux.我在同一目录中有多个文件.所有*.pl文件在开头都包含以下内容,仅在注释中有所不同:

#!/usr/bin/perl -w

BEGIN { chdir('/home/httpd/vhosts/mysite.com/httpdocs/newsbot'); unshift(@INC, "/home/httpd/vhosts/mysite.com/httpdocs/newsbot"); }

use Form;
use File;
use Mysite;

#Read in All Form Variables
&ReadInForm;
Run Code Online (Sandbox Code Playgroud)

该文件Form.pm包含ReadInForm子例程,没有别的.

sub ReadInForm { 
}    
1;
Run Code Online (Sandbox Code Playgroud)

奇怪的是,上面的输出是完全不一致的.有时它执行正常,但在脚本末尾显示"内部服务器错误"消息并将以下内容放入error_log文件中:

参数""在/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/ModPerl/RegistryCooker.pm第171行的子例程条目中不是数字.\n,referer:http:// www .mysite.com /了Newsbot/groupkeywords.pl

其他时候,它不会执行,并将以下内容输出到浏览器:

未定义的子例程&ModPerl :: ROOT :: ModPerl :: Registry :: home_httpd_vhosts_mysite_2ecom_httpdocs_newsbot_groupkeywords_2epl :: ReadInForm在/home/httpd/vhosts/mysite.com/httpdocs/newsbot/groupkeywords.pl第11行调用.

其他时候它正常工作,没有错误.

奇怪的是它是不一致的.我可以从文件中获取一个输出,几分钟后刷新,然后获取另一个.我甚至有一些"内部服务器错误"消息和一个500响应标题,没有实际内容.评论这条线&ReadInForm;每次都能解决这个问题,所以我把它缩小到了这个范围,但是我放入的并不重要Form.pm.我甚至可以放一个空的子程序(正如我上面所说的那样),它仍然无法解决问题.

我甚至不确定如何调试这个.它怎么可能不一致呢?perl编译器是否在幕后缓存?

perl

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

即使file_exists()声明文件存在,require()也会失败

这是我的代码:

if (file_exists('config.php')) {
    require('config.php'); // This is line 38
}
Run Code Online (Sandbox Code Playgroud)

以某种方式产生错误:

警告:require(config.php)[function.require]:无法打开流:第38行的/path/name/file.php中没有这样的文件或目录

这怎么可能呢?

更新:下面工作:

if (file_exists(getcwd(). '/config.php')) {
     require(getcwd(). '/config.php');
}
Run Code Online (Sandbox Code Playgroud)

php include

4
推荐指数
3
解决办法
4095
查看次数

在PHP文件中插入翻译注释/注释

我正在翻译我正在开发的应用程序.我有一些字符串:

echo _("Welcome to my site");
Run Code Online (Sandbox Code Playgroud)

然后,我可以使用命令行通过执行以下.po操作从特定目录中的所有PHP文件创建文件:

find . -iname "*.php" | xargs xgettext
Run Code Online (Sandbox Code Playgroud)

但是,当我将其导入Poedit时,我会看到一个名为"翻译笔记"的框.这有时可能很有用,但我无法弄清楚如何填充它.我需要将哪些代码添加到我的PHP文件中,以便xgettext将向翻译者添加注释?

php localization gettext poedit xgettext

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

堆叠的div等于一个高度

寻找一个解决方案,我可以根据三个div的总高度更改div的高度(其中一个是基于内容的变量). Div布局的图形

Green Div将根据内容改变高度.黄色的div没有.我希望蓝色div的高度根据三个左div的总高度而改变.我试图让所有div的顶部和底部匹配.

Jquery对我的网站来说是个不错的选择,我只是不确定如何设置它.

谢谢你的帮助.

html javascript css jquery

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

精确匹配 8 位数字和 0 个或多个破折号

我正在尝试匹配包含 0 个或多个破折号的 8 位数字电话号码。例如,以下内容应全部匹配:

12345678
123456-78
1234-5678
1-2-3-4-5-6-7-8
Run Code Online (Sandbox Code Playgroud)

如果我忽略破折号,那就相当简单了。我可以使用:

[\d]{8}
Run Code Online (Sandbox Code Playgroud)

如果我想匹配至少包含 8 个字符(数字和破折号)的字符串,我可以使用:

[\d-]{8,}
Run Code Online (Sandbox Code Playgroud)

但是,在这里我无法设置字符数的上限,因为我不知道该数字有多少个破折号。

我想到的唯一方法是使用:

[0-9][-]?[0-9][-]?[0-9][-]?[0-9][-]?[0-9][-]?[0-9][-]?[0-9][-]?[0-9]
Run Code Online (Sandbox Code Playgroud)

然而,对于(至少在我看来)看似简单的事情来说,这似乎真的很混乱。有没有更简单的方法来做到这一点?

regex string numbers phone-number

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