【问题标题】:How to encrypt this file with PHP?如何用 PHP 加密这个文件?
【发布时间】:2011-12-25 03:07:27
【问题描述】:

我有一个 php 页面(只有一个页面 - 包含安全信息和验证),我想在其上创建加密,实际上在这种情况下我没有任何数据库来保存数据,所以我必须把自己的用户名和密码!

问题是如何加密或隐藏用户名并传入此文件以及如何检查登录验证?

这个页面一定很安全,万一丢了就不能访问了?

我检查了用户名和密码的 md5 方法,但是如何将其隐藏在文件中:(

请帮助我,因为这对我很重要! 非常感谢...

【问题讨论】:

    标签: php encryption md5 sha


    【解决方案1】:

    在 PHP 文件中硬编码密码本身并不是一个巨大的安全问题,因为无论如何都需要访问 PHP 文件才能读取它:如果有人获得了对您的 PHP 文件的访问权限你会遇到比丢失密码更大的问题。

    但是,请避免:

    1. 以明文形式存储密码,改为保存哈希。
    2. 将密码保存在 JS 文件中,因为客户端可以访问 JS 文件的来源

    有不同类型的哈希,我建议不要使用 MD5,特别是如果你的密码不是很复杂。 this 之类的网站拥有 MD5 哈希数据库,因此您的哈希很容易被破解。 使用更安全的东西,比如 SHA256。

    注意:显然,拥有服务器的人可以物理访问您的文件和数据库,但如果您存储了哈希值,您应该没问题。如果您真的担心拥有服务器的人可能会查看您的“安全”内容,那么您不应该使用共享服务器作为开始。

    【讨论】:

    • rep++,非常感谢,非常好!
    【解决方案2】:
    1. 将用户名/密码存储在 PHP 文件内的变量/数组中。只有有权访问您的服务器的人才能看到该用户名。
    2. 将信息存储在具有奇怪文件名的文件中以及哈希算法 + salt 也是一种可能。 使用 .htaccess 确保没有人可以真正访问它,进一步提高了安全性。

    不要用它来保护重要的东西,因为它不是一个真正的好方法。

    【讨论】:

    • @Mike Redford 不,那是不可能的。您必须从某个地方获取信息,即使您使用的是数据库,您仍然必须指定数据库凭据,服务器人员可以访问该凭据。不过,您的主机闯入您的服务器的可能性可能非常低。
    • @MikeRedford ,不,您应该选择散列算法。远离 md5,尝试 sha512/sha2 或类似的。不要忘记给密码加盐(将数据添加/附加到正在散列的字符串,想想:saltPASSWORDsalt)
    • @MikeRedford,简单解释一下,您在原始字符串中添加了一些数据。 sha1(password) 可能会导致 sha1(salt . password . salt) 代替。这样您就不能使用字典轻松地将散列转换为原始字符串。
    猜你喜欢
    • 2012-02-16
    • 2012-07-27
    • 2017-09-04
    • 2011-10-13
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 2012-07-02
    相关资源
    最近更新 更多