草庐IT

password-protection

全部标签

php - 什么方法是散列密码的最佳方法?

这个问题在这里已经有了答案:SecurehashandsaltforPHPpasswords(14个答案)关闭8年前。我在一个对用户来说应该非常安全的网站上工作,所以我需要对密码进行哈希处理。通常我使用的是MD5,但我读到它不再安全了。所以我尝试了PHPass,但后来我读到它也被破解了。所以我尝试了PHP5.5的password_hash(),但我使用的是HostGator,而那里的PHP是5.4。此外,我希望能够在不知情的情况下添加盐(如time()*userid()),如在password_hash()中。哈希强度对我来说非常重要,因为我想100%确定我的用户是安全的。那么有没有一

PHP:在界面中设置私有(private), protected ,公共(public)?

当我查看GitHub时,大多数项目都以这种方式在接口(interface)中定义方法:interfaceExampleInterface{functiongetId();}我现在的问题是为什么在接口(interface)中定义方法可见性是不好的风格:interfaceExampleInterface{publicfunctiongetId();}它使接口(interface)更加严格,但这不就是接口(interface)的用途吗? 最佳答案 接口(interface)中的私有(private)函数有什么意义?声明public是多余的

php - 拉维尔 5.1/AngularJS : Reset password in Angular view (how to validate CSRF token? )

我设法调整了默认的Laravel身份验证,以便它可以作为我的AngularJS的API,到目前为止一切正常。可以转到/reset并输入一封电子邮件,然后收到一封带有密码重置链接的电子邮件,该链接转到/reset/{token}如果您没有收到任何验证错误,您的密码将成功更改。唯一的问题是,因为我使用的是AngularView,所以在显示reset-password状态之前,实际上没有任何东西可以验证token并确保它不是乱码。我尝试将其添加到Controller的顶部:if($stateParams.token!=$cookies.get('XSRF_TOKEN')){$state.go

php - 了解 PHP password_hash 使用的 bcrypt salt

我在理解bcrypt如何使用盐时遇到了一些麻烦。我知道盐有什么用,但我不明白盐值是如何使用的。问题1:正确的盐长度是多少?我发现的所有来源都说,盐的长度为22,并且它与算法、成本和结果字符串中的实际哈希值一起存储。但是,我发现的所有实现都使用长度为32的盐。例如FOSUserBundle使用的Symfony使用以下代码来创建盐:$this->salt=base_convert(sha1(uniqid(mt_rand(),true)),16,36)由于sha1哈希长度为32个字符,因此生成的salt的长度也为32。这只是一个懒惰的实现,跳过将字符串修剪为22长度的代码,因为这是由bcry

php - Rails 3 protect_from_forgery 问题

我有两个应用程序需要通过HTTP相互通信。一个是PHP应用程序,另一个是我的主要应用程序Rails应用程序。我需要PHP应用程序通过向其发送数据来与Rails应用程序通信,但是当我这样做时,我收到无效的真实性token错误。有没有办法解决?或者我将如何创建自己的token来传递POST,以便我的Rails应用程序进行身份验证? 最佳答案 来自documentationforActionController::RequestForgeryProtection::ClassMethods您可以通过指定和:except或强制跳过之前的过滤

PHP fatal error : Call to undefined function password_verify()

我的XAMPP上有PHP5.5.6,我没有遇到错误。但是将我的网站上传到我们的测试环境后,出现了以下错误:PHPFatalError:Calltoundefinedfunctionpassword_verify()我们的测试环境/服务器有PHP5.5.9(我使用命令php-v检查了它)我还查看了PHP手册,它说在使用此功能时无需配置和安装。有什么想法可能导致此问题吗? 最佳答案 password_verify()自PHP5.5.0以来内置,很可能您的服务器没有运行最新的PHP版本。请务必通过phpinfo()仔细检查服务器上的PHP

PHP password_hash(),默认盐还是自定义盐?

这个问题在这里已经有了答案:UsingPHP5.5'spassword_hashandpassword_verifyfunction(4个答案)关闭7年前。我正在考虑使用password_hash()函数来加密用户密码。我知道如果你不提供这个函数默认生成盐,甚至鼓励使用默认盐而不是你自己的盐。我目前正在权衡3个选项,无法决定选择哪一个,所以如果你能帮助我,我将不胜感激。1。选项:带默认盐的password_hash()$passwordInput=$_POST['password'];$passwordHash=password_hash($passwordInput,PASSWORD

php - Yii,实现 "user change of password"的最佳方式

我在应用程序中使用Yii,我正在编写一个非常简单的用户管理,例如注册、删除和更新用户...为了更新现有用户,我需要先检查旧密码,然后再将其更改为新插入的密码。所以这是我在表单中的字段:username:----old_password:---new_password:---我的用户表如下所示:id,username,password如何在使用新密码更新旧密码之前验证旧密码?我知道通常的php编码,但我想知道是否有任何Yii技巧可以自动执行此操作...提前致谢 最佳答案 你不应该用垃圾污染你的模型。请始终牢记这些基本的MVC原则:您的

php - password_verify 不验证哈希

我通过password_hash散列我插入的密码。我使用password_verify验证它们。然而,当我在我的数据库中插入一个散列密码并尝试验证它时,两个输出总是彼此不同。我的页面如下,main_login.php(表单):Username:Password:RememberMeSubmitlogin.php(处理程序):";echo"pass:".$hash."";echo"db:".$row[2]."";echo"WrongUsernameorPassword";}?>变量.php:当我尝试使用用户名“caca”和密码“caca”登录时,我每次重试时都会得到不同的输出。我在sta

php - 为什么不在 PHP 中使用 'protected' 或 'private'?

我一直在使用Joomla框架,我注意到他们使用约定来指定私有(private)或protected方法(他们在方法名称前面加上下划线“_”),但它们没有显式声明任何方法public、private或protected。为什么是这样?它与便携性有关吗?public、private或protected关键字是否在旧版本的PHP中不可用? 最佳答案 public、private和protected是PHP5的关键词。不幸的是,PHP4仍然有很高的安装基础(尤其是在共享主机服务中)。这是一个prettypic显示7月的使用率(法语文本)。剧