php一般使用的mysql的数据库 如果没有密码的话 比较麻烦
要破解mysql的root密码 这是关键
参考:
如果是root密码:
方法一:
MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器:
safe_mysqld --skip-grant-tables&
即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。
需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效
方法二:
可以进行如下的步骤重新设置MySQL的root密码:
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面 *** 作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi /etc/mycnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysqlsock
skip-name-resolve
skip-grant-tables
保存并且退出vi。
3.重新启动mysqld
# /etc/initd/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码
# /usr/bin/mysql
Welcome to the MySQL monitor Commands end with ; or \g
Your MySQL connection id is 3 to server version: 32356
Type ‘help;’ or ‘\h’ for help Type ‘\c’ to clear the buffer
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ;
Query OK, 0 rows affected (000 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (001 sec)
mysql> quit
Bye
5.将MySQL的登录设置修改回来
# vi /etc/mycnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld
# /etc/initd/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
windows
1以系统管理员身份登陆系统。
2打开cmd—–net start 查看mysql是否启动。启动的话就停止net stop mysql
3我的mysql安装在d:\usr\local\mysql4\bin下。
4跳过权限检查启动mysql
d:\usr\local\mysql4\bin\mysqld-nt –skip-grant-tables
5重新打开cmd。进到d:\usr\local\mysql4\bin下:
d:\usr\local\mysql4\bin\mysqladmin -uroot flush-privileges password “newpassword”
d:\usr\local\mysql4\bin\mysqladmin -u root -p shutdown 这句提示你重新输密码。
6在cmd里net start mysql
7搞定了。
2,MySQL41以上版本一种密码错误问题的解决方法
1 # SET PASSWORD FOR ’some_user’@’some_host’ = OLD_PASSWORD(‘newpwd’);
2 # FLUSH PRIVILEGES;
3,Mysql数据库修复
myisamchk -r -q d:\mysql\data\latin1\
r代表修复
q代表快速
d:\mysql\data\latin1\数据库里面 代表里面的所有的文件
方法三:
如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。
1 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。
kill `cat /mysql-data-directory/hostnamepid`
你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个 *** 作。
2 使用`--skip-grant-tables' 参数来启动 mysqld。
3 使用`mysql -h hostname mysql'命令登录到mysqld server ,用grant命令改变口令。你也可以这样做:`mysqladmin -h hostname -u user password 'new password''。
(其实也可以用use mysql; update user set password =password('yourpass') where user='root' 来做到。)
4 载入权限表: `mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启mysqld。)
方法四:(一定要先备份)
1,重新在另一台电脑上安装相同版本的MySQL
2,删除忘记密码的电脑中MySQL安装目录中\data\mysql的全部内容(要先停止MySQL服务)
3,Copy新装的电脑上MySQL安装目录中\data\mysql的全部内容 to 刚刚删除的目录中
4,启动MySQL服务
这样就只有一个root用户了,密码为空……
PHP网站后台登录密码忘记之后有两种办法:一种是在数据库中更改后台的登录密码;另一种就是删除一个文件,然后进行重新安装。
1、在数据库中修改完网站后台登录密码的方法:
首先需要登录网站数据库,进入数据库的管理界面
2、找到数据库中 表头_admin,如:v9_admin,找到数据库中的v9_admin表,点进去,就会看到登录名username和登录密码password,然后将登录密码password的值更改成你想要的登录密码就可以了。
3、接下来就是用重新安装的方法弄回登录密码。
需要准确的找到该文件:根目录/caches/installlock,将installlock文件删除,然后将新的install文件上传到根目录。
4、在成功上传install文件和删除installlock文件后,在浏览器中输入这个网址“与域名/install”然后回车,就可以实现重新安装phpcms程序后台,就可以设置新的登录名与登录密码。
注意事项:
1、需要准确的找到该文件installlock并进行删除;
2、然后将新的install文件夹上传到根目录
确保用户注册的时候认证了邮箱;
找回密码的时候可是使用验证码的方式,先由php产生一个随机数,并发送放到该用户邮箱;
获取用户填写的验证码是否等于该随机数;
验证成功用php里面的UPDATE 替换掉数据库里面的密码字段;
成功。
望采纳。
'Y',password("1234"));
很想知道你的这个password函数么?一般都会有一个加密过程
换取密码?这换取是什么概念?提取?还是……
insert into tablename (字段名称) values(对应字段的值)
字段名称是数据库中的字段,顺序随意,按需要来填写,而value后面的值是必须与前面的字段是相对应的
如果像楼主的意思,貌似想要更新密码,那么使用update语句,update tablename set 字段=值,字段=值 where =
(后面是约定条件)
第一步;
认证用户名
if(strtolower($_SERVER['REQUEST_METHOD'])=='post')
$name=trim($_POST['name']);
$sql="SELECT
name
FROM
table
WHERE
name=$name";
$res=mysql_query($sql);
$list=mysql_fetch_array($res);
if($list['name']==$name){
echo
"<script>locactionhref='updatepwdphpname=$name';</script>";
}else{
echo
"<script>alert('没有此用户!')</script>"
}
}
注:一般除验证用户名之外还要验证邮箱
第二步,修改密码;updatepwdphp
if(strtolower($_SERVER['REQUEST_METHOD'])=='post'){
$pass=trim($_POST['passwd']);
$sql="UPDATE
table
SET
passwd=$pass
where
name=$_GET['name']";
mysql_query($sql);
}
完毕
这是一个做好的密码找回 你先看一下 有不懂的你再问 < ob_start(); //解决header不好使问题
session_start();
require_once("rootphp");
try{
$dbUsers=new DBUsers();
$Users=new Users();
}catch (Exception $e){ //抛出错误异常
print $e->getMessage();
exit();
}
>
<form action="passphpaction=select" method="post">
用户名:<input type="text" name="name" value=""/>
<input type="submit" name="button" value="提交" />
</form>
<
if($_GET['action']=='select'){
$dbUsers->name=$_POST['name'];
$users=$Users->selectUsers($dbUsers);
//显示密保
switch ((int)$users->question){
case 1:
echo "问题:你所在的城市?";
break;
case 2:
echo "问题:你的出生地?";
break;
case 3:
echo "问题:你的出生日期?";
break;
case 4:
echo "问题:你配偶的名字?";
break;
case 5:
echo "问题:你父亲的名字?";
break;
}>
<form action="passphpaction=insert&name=<=$users->name>" method="post">
答案:<input type="text" name="answer" value=""/>
<input type="submit" name="button" value="提交" />
</form>
<
}if ($_GET['action']=='insert'){
$dbUsers->name=$_GET['name'];
$users=$Users->selectUsers($dbUsers);
//echo $users->answer"--------";
//echo $_POST['answer'];
if ($users->answer==$_POST['answer']){
header("Location:passphpaction=update&name=$users->name");
ob_end_flush();//解决header不好使问题
}else{
echo "<script language='javascript'>alert('回答不正确')</script>";
}
}
><
//密码修改
if($_GET['action']=='update'){
$dbUsers->name=$_GET['name'];
>
<h1>密码修改</h1>
<form action="passphpaction=upsave&name=<=$dbUsers->name>" method="post">
新密码:<input type="password" name="pwd1" value=""/>
密码确认:<input type="password" name="pwd2" value=""/>
<input type="submit" name="button" value="提交" />
</form>
<
}><
//密码更新
if($_GET['action']=='upsave'){
// $dbUsers->name=$_SESSION['name'];
$dbUsers->pwd=$_POST['pwd1'];
$dbUsers->name=$_GET['name'];
$msg=$Users->updateUsers($dbUsers);
if($msg){
echo "<script language='javascript'>alert('修改成功');locationhref='indexphp'</script>";
}}
>
作者/上善若水
1md5(string $str,bool $flag = false);
$flag = false 默认返回32位的16进至数据散列值
$flag = true 返回原始流数据
2sha1($string,$flag = false)
$flag = false 默认返回40位的16进至数据散列值
true 返回原始流数据
3hash(string $algo,srting $str,bool $flag);
$algo : 算法名称,可通过hash_algos()函数获取所有hash加密的算法
如:md5,sha1等,采用md5,sha1加密所得结果和1,2两种方式结 果相同。
$flag = false 默认返回16进至的数据散列值,具体长度根据算法不同
而不同。
true 返回原始流数据。
4crypt(string $str,$string $salt);
函数返回使用 DES、Blowfish 或 MD5 算法加密的字符串。
具体算法依赖于PHP检查之后支持的算法和$salt的格式和长度,当 然具体结果也和 *** 作系统有关。比较结果采用 hash_equals($crypted,crypt($input,$salt));//且salt值相同
Password_verify($str,$crypted);
5password_hash ( string $str, integer $algo [, array $options ] )
函数返回哈希加密后的密码字符串, password_hash() 是crypt()的 一个简单封装
$algo : 算法 PASSWORD_DEFAULT ,PASSWORD_BCRYPT
$options = [
“cost”=>10,//指明算法递归的层数,
“salt”=>“xxadasdsad”//加密盐值,即将被遗 弃,采用系统自动随机生成安全性更高
];
使用的算法、cost 和盐值作为哈希的一部分返回
Password_verify($str,$hashed);
6base64_encode(string $str)
设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层 传输,例如电子邮件的主体。base64_decode(string $encoded)
可以进行解码;
7mcrypt_encrypt ( string $cipher , string $key , string $data ,
string $mode [, string $iv ] )
mcrypt_decrypt ( string $cipher , string $key , string $crypted ,
string $mode [, string $iv ] )
$ciper:加密算法,mcrypt_list_algorithms()可以获取该函数所有支持的算法
如MCRYPT_DES(“des”),MCRYPT_RIJNDAEL_128(“rijndael-128”);
$mode : 加密模式 ,mcrypt_list_modes()获取所有支持的加密模式,ecb,cbc
$key: 加密的秘钥,mcrypt_get_key_size ( string $cipher , string $mode )
获取指定的算法和模式所需的密钥长度。$key要满足这个长度,如果长 度无效会报出警告。
$iv : 加密的初始向量,可通过mcrypt_create_iv ( int $size [, int $source = MCRYPT_DEV_URANDOM ] ),
Iv的参数size:
通过mcrypt_get_iv_size ( string $cipher , string $mode )获取
Iv 的参数source:
初始向量数据来源。可选值有: MCRYPT_RAND (系统随机数生成 器), MCRYPT_DEV_RANDOM (从 /dev/random 文件读取数据) 和 MCRYPT_DEV_URANDOM (从 /dev/urandom 文件读取数据)。 在 Windows 平台,PHP 530 之前的版本中,仅支持 MCRYPT_RAND。
请注意,在 PHP 560 之前的版本中, 此参数的默认值 为 MCRYPT_DEV_RANDOM。
Note: 需要注意的是,如果没有更多可用的用来产生随机数据的信息, 那么 MCRYPT_DEV_RANDOM 可能进入阻塞状态。
$data : 要加密的字符串数据
以上就是关于有PHP数据库,帐号密码在哪里能查到全部的内容,包括:有PHP数据库,帐号密码在哪里能查到、求解,php网站,后台登陆密码忘记了。怎么办。、php 忘记密码 通过邮箱找回密码功能怎么实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)