草庐IT

SECURITY

全部标签

mysql - 在 mysql 中存储密码...使用哈希对吗?但是如何向用户发送忘记的密码呢?

我一直在研究如何在mysql中存储用户密码,普遍的回答是使用MD5或SHA1等加密算法来存储它。但是,如果用户x忘记了她的密码并希望将密码发送给她怎么办?然后怎样呢?我无法向她发送md5哈希值!这个问题在现实世界中是如何处理的。有两个数据库吗?一个用于比较哈希值,另一个用于比较忘记的密码?但有什么区别,两者都是只读的,当时连接到它的sql用户。你是怎么做到的?谢谢!! 最佳答案 从不向用户发送密码是非常标准的安全做法。相反,您提供了一个密码重置实用程序,该实用程序与他们访问其电子邮件帐户的能力和/或回答有关其个人资料的问题(例如安全

android - 为什么不直接将android连接到数据库?

我看到很多人试图在SQLServer或MySql等数据库中直接连接Android设备,而答案总是一样的:使用网络服务。为什么不直接将Android设备与数据库连接?我在Android应用程序中使用本地网络。 最佳答案 有很多原因。安全性-如果用户可以直接访问,他们可以从您的数据库中获取任何内容。另外,他们将拥有进入您数据库的密码。因此,如果您使用的SQL服务器有缺陷,那么他们就可以利用它。此外,如果您的权限设置错误,可能会删除您的数据库。速度-如果用户经常使用大型查询,那么它会迅速而不必要地使您的系统陷入困境。如果你通过网络界面,你

php - 在 MySQL 中存储 SHA-512 哈希

我想知道如果我使用PHP的hash()函数生成sha512哈希值,我的MySQL表字段看起来会怎样才能保存哈希密码。这是我当前的MySQL密码字段布局char(40) 最佳答案 sha512哈希表示为128个字符长的字符串。例如,以下部分代码:$sha512=hash('sha512',"Hello,World!");echostrlen($sha512);将给出这个输出:128这意味着您的char(40)太小了,您应该使用char(128)。另一种解决方案是以二进制形式存储它,而不是字符串——这意味着64字节。但请注意,我想在某些

mysql - laravel 5.1 有多安全?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion阅读SQL注入(inject)后,我想知道在Laravel中创建应用程序的安全性如何以及如何测试您的安全性是否符合当今的标准?

php - 如何在 PHP 中保护 mySQL 连接字符串?

我知道规则:永远不要硬编码您的密码,我已经看到这个问题here其中解释了如何使用Java和mySQL,但我不知道如何使用PHP和mySQL。当前的连接串是这样制作的但我需要确保密码安全,即不要硬编码在此文件中。我该怎么做?编辑:对于我对此的所有反对票,我仍然没有收到关于真正的安全问题-硬编码密码的问题的答复。在不发布满足问题的评论或答案的情况下对真正的问题投反对票是没有帮助的。 最佳答案 将您的配置存储到另一个文件中。$DBName="dbName";$Host="localhost";$User="dbUser";$Passwor

php - 使用 Codeigniter 在 MySQL 中安全地转义动态表名

我遇到了一个小问题。我目前正在开发一个需要在MySQL中使用动态表名的应用程序。基本上,我有一个根据多种因素(流派、播放长度、发行日期等)从数据库中选择专辑的过程——这个过程的一部分允许用户创建一堆自定义过滤器..自定义过滤器向用户返回符合该选择标准的所有相册的计数。然后将这些专辑的ID存储在具有随机生成的哈希/序列号的表中(例如albumSelect_20880f9c05d68a)我这样做是因为我不想在一个字段中存储一个巨大的逗号分隔列表(真的很傻)——而且我不想像这样将一组值发送到我的HTML中的隐藏字段只会增加数据吞吐量(一次可能有数千行)在CodeIgniter中,我使用查询绑

mysql - MySQL表的主键应该暴露吗?

我有许多MySQL表,描述了诸如“用户”、“业务”等模型。这些表的主键是否应该暴露给客户端?我主要是从安全角度提问,但还有其他我没有想到的考虑因素吗? 最佳答案 暴露您的主键(特别是如果它们是可预测的)是一个称为不安全直接对象引用的漏洞。通过这样的URL(或任何其他客户端提供的参数):http://www.domain.com/myaccount?userid=12您让您的最终用户有机会处理这些变量并传递他们喜欢的任何数据。缓解此漏洞的对策是改为创建间接对象引用。这听起来像是一个很大的变化,但不一定非得如此。您不必去重新键入所有表或

java - 使用 Oracle DBMS : No matching username found in Principals 登录 JBOSS

我在JBOSS上登录我的Java应用程序时遇到问题。我在JBOSS7.1.1中使用数据库登录模块测试环境在MySQL数据库上。一切都很好,没有问题。应用程序部署正确,我可以登录到我的应用程序。现在对于生产,DBMS必须更改为Oracle。也在这里部署了一切。我可以用我的浏览器打开应用程序。但是无法登录。每次我自己尝试登录时,日志都会显示:PB00019:ProcessingFailed:NomatchingusernamefoundinPrincipals。这是我对登录模块的配置:如果我手动发送查询,我会收到正确的值:SELECTPASSWORDFROMTBLUSERSWHEREUSE

php - 需要帮助理解 MySQL 注入(inject)

来自http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php我得到了:SQLinjectionreferstotheactofsomeoneinsertingaMySQLstatementtoberunonyourdatabasewithoutyourknowledge.Injectionusuallyoccurswhenyouaskauserforinput,liketheirname,andinsteadofanametheygiveyouaMySQLstatementthatyouwillunknowinglyr

ios - 如何保护应用程序 - 后端通信?

我有一个iOS应用程序和一个小型后端,目前我使用它来管理apns(Apple推送通知)。注册过程只是一个带有参数的GET调用到我的后端,并且由于没有“身份验证”或任何其他类型的控制,我担心任何人都可以通过虚假设备注册使我的后端过载。所以主要问题是:在没有身份验证的情况下,我如何才能使这种应用程序发送信息到后端的传输安全?我想到的一个简单想法是使用应用在注册设备时必须提供的token生成某种哈希... 最佳答案 没有办法彻底解决这个问题。无法知道正在连接的是您的应用程序。您所能做的就是添加一点混淆。最好的第一步是使用SSLwithap