用户口令检查/etc/passwd

<?
/*
* etc.passwd.inc v1.0
*
* Syntax:
* verifypasswd(string USERNAME, string PASSWORD)
*
* The function will return one of three values:
* -2 if there was a file reading error
* -1 if the password is incorrect
* 0 if the username doesn’t exist
* 1 if the password is correct
*
* Written by WarMage ( michael@irc.net )
*
*/

function verifypasswd ($USERNAME, $PASSWORD) {

$fd = fopen( "/etc/passwd", "r");
$contents = fread($fd, filesize( "/etc/passwd"));
fclose($fd);
if (!$contents) return -2;

$lines = split( "n", $contents);
$passwd = array();

for($count=0;$count<count($lines);$count++) {
list ($user,$pass) = split( ":",$lines[$count]);
if ($user == $USERNAME) {
break;
}
}

if (!$user) return 0;

$cryptedpass = $pass;
$salt = substr($cryptedpass,0,2);
$Pass = crypt($PASSWORD,$salt);

if ($Pass == $cryptedpass) {
return 1;
} else {
return -1;
}
}
?>

时间: 2024-10-03 03:02:17

用户口令检查/etc/passwd的相关文章

用户口令检查(/etc/passwd)

<? /* * etc.passwd.inc v1.0 * * Syntax: * verifypasswd(string USERNAME, string PASSWORD) * * The function will return one of three values: * -2 if there was a file reading error * -1 if the password is incorrect * 0 if the username doesn't exist * 1

Linux中用户﹑口令﹑文件存取权限及安全性的基本知识

用户主目录﹑超级用户及增加其他用户 对一般用户而言,硬盘上可以进行写操作的地方可能只有自己的主目录,它位于"/home/用户名"下. /home目录是保存所有用户文件的,其中包括用户设置.程序配置文件.文档.数据.netscape的缓存文件以及用户邮件等等.普通用户仅仅可以在自己的主目录下创建新的子目录来组织您的文件.并且在没有赋予其他用户普通用户权限的情况下,其他用户是无权读写您主目录下的内容的. 除了自己的主目录外,一般用户是可以查找﹑读﹑执行系统内其它目录中的文件的,但是一般情况

Linux下MySQL忘记超级用户口令的解决办法

解决办法一 MySQL忘记超级用户口令的解决办法  如果MySQL正在运行,首先杀之: killall -TERM mysqld. 启动MySQL:  代码如下 复制代码 bin/safe_mysqld --skip-grant-tables & 就可以不需要密码就进入MySQL了 然后就是  代码如下 复制代码 >use mysql >update user set password=password("new_pass") where user="ro

[20170329]还原用户口令信息.txt

[20170329]还原用户口令信息.txt --//上午在例行检查中发现发现sys.aud$增加异常. col object_name format a40 col owner format a40 prompt 日期1 日期2 显示行数 SELECT *   FROM (  SELECT dhso.OWNER                 ,dhso.object_name                 ,object_type                 ,SUM (db_bloc

在phpMyAdmin使用用户口令登陆

phpmyadmin 使用过phpMyAdmin的人知道,在phpMyAdmin中,使用文件config.inc.php保存用户名和密码,当需要更换用户或用户口令更改时,必须修改config.inc.php文件,然后再上传,特别的不方便.更有时,为了修改MYSQL库或表而使用root账号,如果这时其它网站的自动搜擎系统搜索到index.php并继续执行其中的每一步的话,是相当危险的.为此需要用户登陆机制,在每次使用时,输入用户名和口令,这样会安全得多. 以下是我在管理过程中,根据实际需要,对ph

用户口令保护新招

经常有读者询问,如何在其站点上使用JavaScript,以确保用户登录时的口令不会外泄.对于这样的问题,我的第一反应就是告诉他们使用SSL(安全套接字协议层).如使用正确,SSL对于安全要求较高的Web应用是最佳的解决方案.但是,也有相当一部分开发者,他们的Web应用对安全性的要求并不高,因此他们并不希望访问者使用SSL 登录. Web应用一般使用一种叫做"会话状态管理"(Session State Management) 的技术来追踪和管理浏览器与服务器之间的相互活动.因为每个浏览器

在主页中利用ASP技术实现用户口令的验证

在主页中利用ASP技术实现用户口令的验证 ---- 大家知道在一般的WEB 站点中,用户的访问是不受限制的,即可以访问WEB 站点上的任何信息,且访问信息的次序是不受限制的. 以http://www.xyz.com为例,用户可以访问 http://www.xyz.com,可以访问http://www.xyz.com/custom.htm.这两页访问的次序没有限制,即可以先访问http://www.xyz.com/custom.htm,也可以先访问 http://www.xyx.com. 这种灵活

保护用户口令的算法及实现

算法 读者总是问我怎样才能在他们的站点上通过使用JavaScript来保护用户的登陆口令,我的第一个反应就是告诉他们使用安全套接层(Secure Sockets Layer,SSL).当使用正确时,SSL是安全敏感的Web程序最好的解决方法.然而,一些开发者在发布对安全不那么敏感的Web程序时更愿意让用户登陆时不使用SSL. Web程序使用一种称为会话状态管理(session state management)的技术来跟踪浏览器与服务器之间的交互,正如超文本传输协议所规定的那样,每个浏览器的请求

在SYBASE中设置用户口令为空

使用sa登录Server: isql -Usa -Psa_password -Sserver_name 记录当前版本号(以当前版本号12000为例): sp_configure "upgrade version" go 修改当前值为492: sp_configure "upgrade version",492 go 将某用户口令设置为NULL(以sa为例,当前口令为"123456"): sp_password '123456',NULL,sa g