草庐IT

Passwords

全部标签

php - PHP密码盐真的有必要吗?

这个问题我已经问过自己十几次了。密码盐真的有必要吗?我找不到关于这个主题的任何好的文献。从安全角度来看,密码盐有帮助吗?如果数据库被破坏,如果密码仍然存在,盐不会丢失吗?另外,从刷力的角度来看,如果我封禁了IP,真的有必要存盐吗? 最佳答案 是的,您应该始终使用盐。幸运的是PHP非常聪明。来自thisarticle:Ifyouusethedefaultoptionsforthepassword_hash()functionPHPwillgeneratearandomsaltforeachpasswordasitishashed.Th

php - 寻找一些不错的选择来向用户发送重置密码电子邮件

我想在忘记密码时向用户发送电子邮件,提示他们重设密码。我知道这是值得商bat的,并且正在寻找一些不错的选择/建议/方法/文章以供选择。我提示用户通过一个简单的脚本按下“忘记密码”链接,PHP部分执行此操作:$Email=$_POST['email'];$success=false;$formError=false;if(isset($_POST['sub_forgot_pw'])){if(empty($_POST['email'])){$formError="true";$error="Pleaseenteryoure-mailaddress.";}else{$to=$Email;$s

php - 设置最小密码长度

我正在尝试为登录页面设置最小密码长度;但是,密码(输入)标签的唯一属性似乎是最大长度。我知道您可以使用新模式或min属性,但我需要在IE9中可用的东西。是否有简单/替代方法来解决这个问题,或者我必须使用strlen? 最佳答案 到目前为止,一些好的答案。但是,与客户端相比,这更受服务器端的关注。我不难“破解”标记或Javascript以允许使用短密码。您也应该始终检查服务器端,以确保没有发生任何异常情况。总结一下:使用Javascript确保密码长于最小长度,并在服务器端重新检查它以确保没有以任何方式绕过jsfunction。

PHP -> 正则表达式 |密码验证不起作用

我使用这个(几乎)复杂的密码验证:functionis_password($password){returnpreg_match("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$",$password);}所以它必须包含:0-9中的一个数字,一个小写字符,一个大写字符,至少6个字符最多20个字符这似乎行不通。每当我输入某些字符时,例如e、t、o、j、c和b;如果允许的长度正确,该函数返回true。所以大写字母和数字没有被验证..我做错了什么? 最佳答案 您忘记使用delimiters.请改用此代码:r

php - 在 Laravel 5 中更改密码重置重定向链接

我正在关注this关于使用Laravel设置身份验证的教程,除了一点点,我大部分时间都在那里。当我请求重设密码时,我会收到一封发送给我的电子邮件,如果我单击电子邮件中的链接,我会看到一个表格,然后我正确填写该表格并期望被重定向回/dashboard,但是这永远不会发生,而是重定向到/home。我无法提供任何代码,因为一切都是由Laravel在幕后完成的。任何帮助表示赞赏:)。 最佳答案 这是因为您希望重置密码Controller将您重定向到/dashboard成功重置。也许我错了,但我在指定的代码中看不到任何地方(如您所说,基于全新

php - 如何在配置文件中隐藏密码

有没有办法在我的config.php配置文件中隐藏我的数据库访问密码?执行此操作的最佳方法是什么?我想对访问者和主机管理员隐藏:) 最佳答案 您通常不能隐藏它们,因为在某些时候它们必须由在运行时使用它的应用程序读取。更好的办法是保证它们的安全,这样除了您(或授权人员)之外,任何人都无法读取它们。例如,您的config.php不应位于可通过网络访问的公共(public)目录或html目录中。如果我访问website.com/config.php,我应该看不到生成的文件(即使它通常是空白的)。这是因为有时当配置设置关闭时PHP代码会暴露

php - 我应该允许 2 个字符的密码吗?

这听起来像是一个无聊的问题,但安全领域的人会明白这一点。我是否应该让用户输入任意数量的字符,只要它大于0个字符。我的逻辑是:密码无论如何都会被散列和加盐,并且对于做彩虹table的人来说,没有任何长度/其他指导方针会更有趣,但是我担心的是暴力字典攻击。我的做法是否正确?既然问的是下限问题,那还不如问一下上限?同样,它将被散列和加盐,因此数据库大小不是问题。那么在这种情况下,我唯一能想到的问题就是缓冲区,对吧?更新给那些迟到的问题所以普遍的共识似乎证实了我最初的想法,即暴力破解的风险增加了。然而,RTcracker的工作不会因为他们没有关于大小的线索而变得那么困难。事实上,这可能会变得更

php - "random"盐比 "unique"盐有什么好处?

我目前正在编写一个程序,其中一部分涉及安全地创建密码哈希以存储在数据库中,我遇到了phpass框架,这似乎是强烈推荐的。在phpass中,他们似乎竭尽全力生成一种尽可能真正随机的盐,用于哈希(例如,从/dev/urandom读取)。我的问题是,与简单地使用uniqid()相比,这样做有什么好处?重点不就是确保用于散列的盐彼此不同而不是随机的吗?使用真正随机的盐实际上不会比使用独特的盐更糟糕,因为它可能会产生碰撞而uniqid()不会?编辑:我的问题不是关于计算机环境中是否存在“真正的”随机性,所以也许我措辞有误,但我的问题更多的是“更多”的随机盐是否有任何好处比盐更独特。

php - WooCommerce 密码强度更改为 6 个字符

与其他人一样,密码强度对于客户来说有点荒谬。所以我使用了以下删除所有密码检查(“1”现在是有效密码)functionremove_wc_password_meter(){wp_dequeue_script('wc-password-strength-meter');}add_action('wp_print_scripts','remove_wc_password_meter',100);它是基于脚本的,有没有办法不修改脚本使其只需要至少6个字符? 最佳答案 我不知道你为什么删除add_filter('woocommerce_get

php - password_hash 输出的格式是什么?

我知道PHP函数,password_hash在一个字符串中输出算法、成本、salt和哈希,因此password_verify可以检查密码。来自PHPpage的示例输出:$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a所以$2y$代表算法,10代表成本。但是password_verify如何将盐与散列分开呢?之后我没有看到任何标识符将两者分开。 最佳答案 用于密码哈希的bCrypt版本。Bcrypt有一个固定长度的盐值。当您使用带有默认算法的password_ha