我目前正在编写一个程序,其中一部分涉及安全地创建密码哈希以存储在数据库中,我遇到了phpass框架,这似乎是强烈推荐的。在 phpass 中,他们似乎不遗余力地生成尽可能真正随机的盐以用于散列(例如从 /dev/urandom 读取)。
我的问题是,与简单地使用相比,这样做有什么好处uniqid()?关键不是简单地确保用于散列的盐彼此不同而不是随机的吗?使用真正随机的盐实际上不会比使用独特的盐更糟糕,因为它可能会产生碰撞而 uniqid() 不会?
编辑:我的问题不是关于计算机环境中是否存在“真正的”随机性,所以也许我用词不当,但是我的问题更接近于“更多”随机盐是否比更多独特性有任何好处作为盐。
目前,我正在尝试寻找一种解码来编码包含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
怎么做?希望有人在这里帮助我.提前致谢!
我找不到有关该always()方法参数的文档.
现在,我只是使用:
$.post("foo.do", {
...
}, function(data) {
...
}).fail(function(jqXHR, textStatus, errorThrown) {
...
}).always(function() {
...
});
Run Code Online (Sandbox Code Playgroud) 我正在使用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
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud) 我有下面的 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) 主机是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编译器是否在幕后缓存?
这是我的代码:
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) 我正在翻译我正在开发的应用程序.我有一些字符串:
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将向翻译者添加注释?
寻找一个解决方案,我可以根据三个div的总高度更改div的高度(其中一个是基于内容的变量).

Green Div将根据内容改变高度.黄色的div没有.我希望蓝色div的高度根据三个左div的总高度而改变.我试图让所有div的顶部和底部匹配.
Jquery对我的网站来说是个不错的选择,我只是不确定如何设置它.
谢谢你的帮助.
我正在尝试匹配包含 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)
然而,对于(至少在我看来)看似简单的事情来说,这似乎真的很混乱。有没有更简单的方法来做到这一点?