Php 一次登录的网站
如果我创建一个只有一个登录名(管理员)的网站,那么将用户名和密码作为变量存储在文档中,而不是将其存储在mysql表中,是否会更安全(我觉得更容易) 如果我只是把它存储为一个变量,我就不必对它进行加密了,是吗Php 一次登录的网站,php,mysql,security,login,Php,Mysql,Security,Login,如果我创建一个只有一个登录名(管理员)的网站,那么将用户名和密码作为变量存储在文档中,而不是将其存储在mysql表中,是否会更安全(我觉得更容易) 如果我只是把它存储为一个变量,我就不必对它进行加密了,是吗 无论发生什么,我都会进行一次会话。源代码中硬编码的密码只对有权访问源代码的人可用。所以是的,它倾向于较少的利用 此外,由于只有一个管理员密码,因此将其存储在其他地方本身就是一种过度使用 然而,腌制/加密是另一回事。如果有其他不太信任的人有权访问源代码(或者由于系统的其他安全漏洞,应该对源代码
无论发生什么,我都会进行一次会话。源代码中硬编码的密码只对有权访问源代码的人可用。所以是的,它倾向于较少的利用 此外,由于只有一个管理员密码,因此将其存储在其他地方本身就是一种过度使用
然而,腌制/加密是另一回事。如果有其他不太信任的人有权访问源代码(或者由于系统的其他安全漏洞,应该对源代码进行压缩),您可以将其加密存储在变量中。不要在PHP代码中直接存储密码。原因如下: 假设您正在服务器上安装APAche+PHP,它可能如下所示:
- 安装Apache
- 哦…完成了-所以我将把我的php代码放到htdocs中
- 安装PHP
- 在“index.php”所在的目录中创建“private”子目录
- 在“private”中放入2个文件“.htaccess”和“secret.php”:
<?php
require_once('./private/secret.php'); // defines ADMIN_HASH, DB_USER, DB_PASS
// here you can use ADMIN_HASH, DB_USER, DB_PASS and
// even if someone gains access to the source code from
// this file (via HTTP) no one will see your priv data
?>
<?php
// define here any private data that you wish
// file will be included from others but never allowed to be seen due to rewrite rule from .htaccess
define('ADMIN_HASH', 'your admin password\'s hash - for example md5');
define('DB_USER', 'user used to access db');
define('DB_PASS', 'password for above user');
?>
private/secret.php
<?php
require_once('./private/secret.php'); // defines ADMIN_HASH, DB_USER, DB_PASS
// here you can use ADMIN_HASH, DB_USER, DB_PASS and
// even if someone gains access to the source code from
// this file (via HTTP) no one will see your priv data
?>
<?php
// define here any private data that you wish
// file will be included from others but never allowed to be seen due to rewrite rule from .htaccess
define('ADMIN_HASH', 'your admin password\'s hash - for example md5');
define('DB_USER', 'user used to access db');
define('DB_PASS', 'password for above user');
?>
当然,mod_rewrite必须在Apache上运行。上面的代码阻止您将私有数据直接保存在代码中,如果PHP不工作,这些数据可能是可见的。同时,即使PHP不起作用(代码不可解析),仍然没有人可以使用http访问您的“private/secret.PHP”文件。请花点时间,进行适当的加密,并将用户名和密码保存到数据库中。现在不要偷懒:)这样会更安全,工作也会完成,因此,如果您以后想添加其他用户,您可以这样做,而不必重新编写整个应用程序。当然,这一切都取决于您的应用程序要求,如果这是一个仅由您自己使用的简单应用程序,用于跟踪您上厕所的次数,请继续,将密码保存在未加密的文件中,我们关心什么:)@user65439与在变量中加密相比,在数据库中如何更安全?单独使用数据库存储的安全优势是什么?为什么不直接使用.htpasswd或限制为IP@geomagas我相信阿图尔已经回答了你下面的问题。@user65439他现在回答了吗?那么我应该把DB的通行证存放在哪里?