我的PHP网站有以下内容:
>
Cookie:
session_set_cookie_params($cookieParams["lifetime"],
$cookieParams["path"], $cookieParams["domain"], $secure, $httponly);
传输时的密码SHA512,然后是password_hash(),最后是PASSWORD_BCRYPT
我现在希望使用AES_Encrypt函数加密敏感数据,方法是将用于加密和解密的$key存储在webroot目录之外。
这可能会存储病人的数据,我所拥有的是否足够安全?
问题:
当您插入/更新时,您是如何清理输入的?如果您使用的是准备好的语句,那么也不应该手动转义数据。
答案:
示例:
$firstname = ucwords(filter_input(INPUT_POST, 'firstname', FILTER_SANITIZE_STRING));
+1,但我会为它的价值补充一些信息。
MySQL5.7为InnoDB表空间实现了静态加密(https://dev.MySQL.com/doc/refman/5.7/en/InnoDB-tablespace-encryption.html)。
据报道,MySQL8.0还将为InnoDB重做日志和撤消日志文件实现静态加密(https://dev.MySQL.com/doc/refman/8.0/en/InnoDb-data-encryption.html)。
这仍然使查询日志和二进制日志未加密。我们将不得不等待MySQL的未来版本。
为什么要花这么长时间?MySQL的安全工程负责人在上个月的Percona Live会议上说,他们正在非常小心地实施加密。这意味着实现加密、密钥安全和密钥循环以及其他用法的功能。要把这个弄对是非常复杂的,而且他们不想实现一些会变得不推荐使用并使每个人的加密数据库无效的东西。
我一直认为不要使用MySQL内置的加密功能,因为对静态数据(在SQL中)进行加密的要点是,如果服务器受到损害,数据就不会有[那么大]的风险。
MySQL内置功能的问题是,它不适用于数据在“静止”状态之间的传递,因此任何数据的明文都可以在加密之前记录在MySQL日志中(以及存储系统的其他地方,例如查询查找没有加密,因此您可以从许多查找及其count
结果中推断列值)。你可以在这里读到更多关于这个的内容。
关于加密,您应该使用一些经过测试的库,如defuse/php-encryption。
根据我在自己关于这个主题的研究中所读到的内容,Magnus提供的defuse/php-encryption的链接是防止MySQL破坏数据的最佳方法之一,它永远不会让MySQL程序/服务器看到数据的明文值。
我正在为我工作的一家公司申请工作。我有它来防止SQL注入和一些XSS技术。我的主要问题是保护敏感信息的安全,比如SSN和地址,因为公司需要它来为推销员制作1099表格。 我不知道如何做这部分,但是我应该加密所有内容,然后在它进入MySQL数据库时对其进行解密吗?
我正在寻找一种安全的方式来存储用户的敏感媒体像驾照图片。据我所知,没有办法从Firebase存储规则访问Firebase实时数据库,以查看用户是否被授权查看媒体。如果我错了就纠正我。文档中有一些允许某些用户访问介质的方法,但这对我来说并不可行,因为可能有多个用户将访问介质,并且他们的权限状态可能在将来更改。 null
我正在构建一个React本机应用程序,需要保存一些敏感数据,如令牌和刷新令牌。显而易见的解决方案是使用异步存储保存这些信息。问题在于异步存储的安全级别。 AsyncStorage提供了一种本地存储令牌和数据的方法。在某些方面,它可以与LocalStorage选项相比较。在完整生产应用程序中,建议不要直接访问AsyncStorage,而是使用抽象层,因为AsyncStorage与使用同一浏览器的其他
综述 敏感信息在通过网络传输中必须被保护。如果数据是通过HTTPS或其他加密机制传输的,必须保证没有漏洞或这限制,如在文章 测试弱SSL/TLS加密算法,不充分的传输层保护(OTG-CRYPST-001)[1] 和其他OWASP文档中的描述的问题[2], [3], [4], [5]。 通常根据经验来看,如果数据在存储时必须被保护,那么在传输中也应该如此。下面是一些敏感信息的例子: 用于认证的信息(
随着在线应用程序日复一日地涌入互联网,并非所有应用程序都受到保护。许多Web应用程序无法正确保护敏感用户数据,如信用卡信息/银行帐户信息/身份验证凭据。黑客可能最终窃取这些受到弱保护的数据,以进行信用卡欺诈,身份盗窃或其他犯罪。 下面我们来了解这个漏洞的威胁代理,攻击向量,安全弱点,技术影响和业务影响。 威胁代理 - 谁可以访问您的敏感数据和任何数据备份。有外部和内部威胁。 攻击者的方法 - 做中
主要内容:1.引入包,2.配置加密、解密的密码,3.测试用例中生成加密后的秘钥,4.将加密后的字符串替换原明文,5.部署时配置 salt(盐)值MySQL 登录密码,Redis 登录密码以及第三方的密钥等等一览无余。这里介绍一个加解密组件,提高一些属性配置的安全性。 1.引入包 2.配置加密、解密的密码 3.测试用例中生成加密后的秘钥 4.将加密后的字符串替换原明文 5.部署时配置 salt(盐)值 为了防止 salt(盐)泄露被反解出密码,可以在项目部署的时候使用命令传入 salt 值: