1 PHP被下載是不可能的

創(chuàng)新互聯(lián)建站是專業(yè)的玉溪網(wǎng)站建設(shè)公司,玉溪接單;提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行玉溪網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
原理上 PHP文件是一個(gè)程序 不是一個(gè)網(wǎng)頁(yè) 他的返回結(jié)果(也就是輸出)是一個(gè)網(wǎng)頁(yè) 你看到的是他的返回結(jié)果 你訪問一個(gè)php的同時(shí) 服務(wù)器上的WEB服務(wù)器 比如APACHE 去執(zhí)行這個(gè)PHP程序 把返回的網(wǎng)頁(yè)顯示給你
方便你理解 一個(gè)程序 計(jì)算1+1
你想要計(jì)算1+1 你告訴他我要算1+1 就是請(qǐng)求這個(gè)程序運(yùn)算 他告訴你結(jié)果2 他不會(huì)告訴你他是怎么算的1+1 這里 那些數(shù)據(jù)庫(kù)的密碼就處于運(yùn)算1+1的位置 你是不知道的
2 MYSQL的密碼 默認(rèn)情況下 你剛安裝的MYSQL沒有用戶限制 因?yàn)槟J(rèn)有個(gè) %@%的用戶
如果正常的應(yīng)用環(huán)境下 應(yīng)該只有root@localhost的用戶 這個(gè)用戶只允許從localhost 也就是本地登陸 基本上MYSQL除了特殊情況不設(shè)置允許遠(yuǎn)程登陸 即使設(shè)置也是指定IP的遠(yuǎn)程登陸允許
題主你可以使用 md5 或者 sha1 進(jìn)行初步處理,但為了更加安全,請(qǐng)你同時(shí)加上兩個(gè) salt,一個(gè)靜態(tài) salt,一個(gè)動(dòng)態(tài)的 salt。以 md5 為例:\x0d\x0a假設(shè)通過 POST 傳來的密碼為 $_POST['password'],在存入 DB 前先進(jìn)行如下的操作:\x0d\x0a$password = hash('md5', $_POST['password'].$staticSalt.$dynamicSalt);\x0d\x0a\x0d\x0a為了保證動(dòng)態(tài) salt 的唯一性,可以這樣操作:\x0d\x0a$dynamicSalt = hash('md5', microtime());\x0d\x0a\x0d\x0a對(duì)于動(dòng)態(tài)的 salt 可以與生成的密碼一起保存在 DB 中,而靜態(tài) salt 則可以直接放在類文件中(例如定義為一個(gè)靜態(tài)屬性即可)。\x0d\x0a首先謝謝題主采納了我的答案,但是我之前的回答并不是最佳答案,之所以有此加密的想法源于自己所讀的源碼可能比較老,所以并沒使用上較新版本的加密方法,例如 bcrypt等。\x0d\x0a此外,第二點(diǎn),感謝評(píng)論中幾位前輩的提點(diǎn),已經(jīng)明白設(shè)置靜態(tài) salt 的意義并不大,生成一個(gè)較長(zhǎng)的動(dòng)態(tài) salt 已然可以解決問題。\x0d\x0a\x0d\x0aLZ應(yīng)該采用加鹽HASH。\x0d\x0a如何“腌制”密碼呢?\x0d\x0a=_,=\x0d\x0a正確的格式應(yīng)該是,用戶password+動(dòng)態(tài)的salt\x0d\x0a動(dòng)態(tài)的salt不能像2L所說的,使用microtime,因?yàn)闀r(shí)間在某些情況下不夠隨機(jī),而且是可能被猜解的。\x0d\x0a這里推薦一個(gè)我用的加鹽HASH\x0d\x0a$salt=base64_encode(mcrypt_create_iv(32,MCRYPT_DEV_RANDOM));\x0d\x0a$password=sha1($register_password.$salt);\x0d\x0a\x0d\x0a解釋:\x0d\x0a首先使用mcrypt,產(chǎn)生電腦隨機(jī)生成的,專門用戶加密的隨機(jī)數(shù)函數(shù)。\x0d\x0a第二步,把得到的隨機(jī)數(shù)通過base64加密,使其變長(zhǎng)并且不利于猜解。\x0d\x0a第三步,把得出的鹽拼接到密碼的后面,再對(duì)其使用sha1進(jìn)行哈希\x0d\x0a再把password存入到用戶的數(shù)據(jù)庫(kù)。\x0d\x0aPS:為何不用靜態(tài)的salt?沒有必要,使用一個(gè)動(dòng)態(tài)隨機(jī)足夠長(zhǎng)的鹽足矣。\x0d\x0a為何不用MD5?因?yàn)殚L(zhǎng)度不夠。\x0d\x0a為何沒有使用多次HASH?因?yàn)檫@樣反而容易發(fā)生碰撞。\x0d\x0aHASH好之后怎么使用“腌制”好的密碼?\x0d\x0a用戶注冊(cè)-提交密碼-產(chǎn)生salt-腌制好的密碼存入數(shù)據(jù)庫(kù)-salt存入數(shù)據(jù)庫(kù)。\x0d\x0a用戶登錄-提交密碼-調(diào)用salt接到提交密碼的后面-進(jìn)行HASH-調(diào)用之前注冊(cè)腌制好的密碼-對(duì)比HASH值是否和這個(gè)密碼相同
z-blog php數(shù)據(jù)庫(kù)帳號(hào)密碼保存在zb_users/c_option.php
php一般使用的mysql的數(shù)據(jù)庫(kù) ?如果沒有密碼的話 比較麻煩
要破解mysql的root密碼 這是關(guān)鍵
參考:
如果是root密碼:
方法一:
MySQL提供跳過訪問控制的命令行參數(shù),通過在命令行以此命令啟動(dòng)MySQL服務(wù)器:
safe_mysqld --skip-grant-tables
即可跳過MySQL的訪問控制,任何人都可以在控制臺(tái)以管理員的身份進(jìn)入MySQL數(shù)據(jù)庫(kù)。
需要注意的是在修改完密碼以后要把MySQL服務(wù)器停掉重新啟動(dòng)才會(huì)生效
方法二:
可以進(jìn)行如下的步驟重新設(shè)置MySQL的root密碼:
1.首先確認(rèn)服務(wù)器出于安全的狀態(tài),也就是沒有人能夠任意地連接MySQL數(shù)據(jù)庫(kù)。
因?yàn)樵谥匦略O(shè)置MySQL的root密碼的期間,MySQL數(shù)據(jù)庫(kù)完全出于沒有密碼保護(hù)的
狀態(tài)下,其他的用戶也可以任意地登錄和修改MySQL的信息。可以采用將MySQL對(duì)
外的端口封閉,并且停止Apache以及所有的用戶進(jìn)程的方法實(shí)現(xiàn)服務(wù)器的準(zhǔn)安全
狀態(tài)。最安全的狀態(tài)是到服務(wù)器的Console上面操作,并且拔掉網(wǎng)線。
2.修改MySQL的登錄設(shè)置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。
3.重新啟動(dòng)mysqld
# /etc/init.d/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: 3.23.56
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 (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql quit
Bye
5.將MySQL的登錄設(shè)置修改回來
# vi /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables刪除
保存并且退出vi。
6.重新啟動(dòng)mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
windows
1.以系統(tǒng)管理員身份登陸系統(tǒng)。
2.打開cmd—–net start 查看mysql是否啟動(dòng)。啟動(dòng)的話就停止net stop mysql.
3.我的mysql安裝在d:\usr\local\mysql4\bin下。
4.跳過權(quán)限檢查啟動(dòng)mysql.
d:\usr\local\mysql4\bin\mysqld-nt –skip-grant-tables
5.重新打開cmd。進(jìn)到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,MySQL4.1以上版本一種密碼錯(cuò)誤問題的解決方法
1 # SET PASSWORD FOR ’some_user’@’some_host’ = OLD_PASSWORD(‘newpwd’);
2 # FLUSH PRIVILEGES;
3,Mysql數(shù)據(jù)庫(kù)修復(fù)
myisamchk -r -q d:\mysql\data\latin1\*
r代表修復(fù)
q代表快速
d:\mysql\data\latin1\*數(shù)據(jù)庫(kù)里面 *代表里面的所有的文件
方法三:
如果你忘記了你的MYSQL的root口令的話,你可以通過下面的過程恢復(fù)。
1. 向mysqld server 發(fā)送kill命令關(guān)掉mysqld server(不是 kill -9),存放進(jìn)程ID的文件通常在MYSQL的數(shù)據(jù)庫(kù)所在的目錄中。
kill `cat /mysql-data-directory/hostname.pid`
你必須是UNIX的root用戶或者是你所運(yùn)行的SERVER上的同等用戶,才能執(zhí)行這個(gè)操作。
2. 使用`--skip-grant-tables' 參數(shù)來啟動(dòng) mysqld。
3. 使用`mysql -h hostname mysql'命令登錄到mysqld server ,用grant命令改變口令。你也可以這樣做:`mysqladmin -h hostname -u user password 'new password''。
(其實(shí)也可以用use mysql; update user set password =password('yourpass') where user='root' 來做到。)
4. 載入權(quán)限表: `mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令`FLUSH PRIVILEGES'。(當(dāng)然,在這里,你也可以重啟mysqld。)
方法四:(一定要先備份)
1,重新在另一臺(tái)電腦上安裝相同版本的MySQL
2,刪除忘記密碼的電腦中MySQL安裝目錄中\(zhòng)data\mysql的全部?jī)?nèi)容(要先停止MySQL服務(wù))
3,Copy新裝的電腦上MySQL安裝目錄中\(zhòng)data\mysql的全部?jī)?nèi)容 to 剛剛刪除的目錄中
4,啟動(dòng)MySQL服務(wù)
這樣就只有一個(gè)root用戶了,密碼為空……
php將密碼存入數(shù)據(jù)庫(kù),可以分內(nèi)常見的4種方式:
1、直接md5加密存到到數(shù)據(jù)庫(kù)
2、md5兩次存到數(shù)據(jù)庫(kù)
3、對(duì)需要加密的字符串和一個(gè)常量 進(jìn)行混淆加密
4、生成一個(gè)隨機(jī)的變量存到數(shù)據(jù)庫(kù)中,然后對(duì)需要加密的字符串和這個(gè)隨機(jī)變量加密
?php
$str="admin";?//需要加密的字符串
$str2="php";??//增加一個(gè)常量混淆?
$pass1=md5($str);
$pass2=md5(md5($str));
$pass3=md5($str.$str2);
echo?$pass1."br".$pass2."br".$pass3;
?
輸出:
第四種
$str="admin";?//需要加密的字符串
$encrypt=$row['encrypt'];?//?生成的?隨機(jī)加密字符串?存到數(shù)據(jù)庫(kù)中
$pass4=md5($str.$encrypt);
//??8db2ec7e9636f124e56f7eb4d7b7cc7e
phpstudy如何配置、修改數(shù)據(jù)庫(kù)的密碼方法如下:
使用『其他選項(xiàng)菜單』-『MySQL設(shè)置』-『設(shè)置或修改密碼』 。
重置MySQL密碼(忘記密碼時(shí)使用)
請(qǐng)使用『其他選項(xiàng)菜單』-『MySQL工具』-『重置密碼』。
php修改mysql數(shù)據(jù)庫(kù)中的用戶名和密碼方法如下:
方法一
1、使用phpmyadmin,這是最簡(jiǎn)單的了,修改mysql庫(kù)的user表,
2、不過別忘了使用PASSWORD函數(shù)。
方法二
1、使用mysqladmin,這是前面聲明的一個(gè)特例。
2、mysqladmin -u root -p password mypasswd ,輸入這個(gè)命令后,需要輸入root的原密碼,然后root的密碼將改為mypasswd。
3、把命令里的root改為你的用戶名,你就可以改你自己的密碼了。
4、當(dāng)然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執(zhí)行mysqladmin, 那么這種方法就是無效的。 而且mysqladmin無法把密碼清空。
5、下面的方法都在mysql提示符下使用,且必須有mysql的root權(quán)限:
方法三
1、mysql INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql FLUSH PRIVILEGES
2、確切地說這是在增加一個(gè)用戶,用戶名為jeffrey,密碼為biscuit。
3、在《mysql中文參考手冊(cè)》里有這個(gè)例子,所以我也就寫出來了。
4、注意要使用PASSWORD函數(shù),然后還要使用FLUSH PRIVILEGES。
方法四
和方法三一樣,只是使用了REPLACE語(yǔ)句
mysql REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql FLUSH PRIVILEGES
方法五
1、使用SET PASSWORD語(yǔ)句,
mysql SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
2、也必須使用PASSWORD()函數(shù),
3、但是不需要使用FLUSH PRIVILEGES。
方法六
1、使用GRANT ... IDENTIFIED BY語(yǔ)句
mysql GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
2、這里PASSWORD()函數(shù)是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。
網(wǎng)站名稱:php數(shù)據(jù)庫(kù)密碼 phpstudy數(shù)據(jù)庫(kù)密碼
標(biāo)題網(wǎng)址:http://www.yijiale78.com/article32/dooshpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、全網(wǎng)營(yíng)銷推廣、Google、ChatGPT、微信小程序、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)