當前位置:首頁 » 編程語言 » php安全mysql

php安全mysql

發布時間: 2023-08-31 02:10:50

php+Mysql資料庫論壇簡易通

校園論壇是校園網中不可缺少的部分之一 雖然基於ASP+ACCESS的論壇使用簡潔 安裝方便 但MySQL資料庫以它短小 方便 速度快 免費等優點成為很多站點目前首選資料庫 加上PHP語言也具有可跨平台 移植性高 安全可靠 快速高效的優點 因此目前很多流行論壇程序都採用了PHP+MySQL相結合來開發 不過 對於我等菜鳥們來說在伺服器上安裝PHP+MySQL論壇可不像ASP+ACCESS那麼簡單 只需要直接放到站點目錄下即可運行 因為大多數PHP+MySQL論壇在使用前都需要安裝

如果你打算購買虛擬空間來運行PHP+MySQL論壇程序 那麼你首先得購買一個支持PHP+MySQL的空間 一般的適合運行小型論壇( 人左右同時在線)程序的虛擬空間每年最低費用一般 元左右 除此而外 還得建立MySQL資料庫 創建用戶名和密碼才襪差野能順利安裝PHP+MySQL論壇 有的虛擬空間商直接提供這些信息給你 無需自己動手設置 例如 上海E動網的K 虛擬主機 在後台建立了名稱為itlm的資料庫後 就自動創建了itlm_f itlm_r itlm_w三個用戶(密碼都是自己設定的) 這樣安裝時就可以直接使用了

如果學校有自己的伺服器(Windows系統) 那麼就按照下面的步驟一先設置好伺服器的運行環境 讓伺服器支持PHP+MySQL

伺服器端軟體安裝

PHP+MySQL論壇程序在大多數情況下都是運行在Linux UNIX等系統下 但是安裝Linux UNIX系統再配置PHP+MySQL對於我等菜鳥們來說可不是想玩就可以玩起來的!這里筆者向大家推薦一款Win 平台下的一款Web伺服器軟體 EasyAPM Server EasyAPM Server是Win /XP/ 系統下的Apache+PHP+MySQL運行環境快速集成安裝套件 只要一次安裝 就自動包含以下程序 Apache v (Win ) PHP v (Win ) Zend Optimizer v a(Win ) MySQL v (Win ) phpMyAdmin v pl 用戶無須修改任何配置文件 對初學者來說是安裝最方便 最快速的一款WEB伺服器平台!

第 步 從以下地址下載EasyAPM Server

// byshell net/Sofare/Catalog /

第 步 將下載的文件解壓到伺服器d:usr

第 步 在服務告喊器上運行d:usrinstall bat 安裝Apache+PHP+MySQL集成套件 這樣 幾分鍾之內 就讓你的伺服器(或個人電腦)立刻變成了一台支持PHP+MySQL的伺服器

第 步 建立MySQL資料庫 在伺服器IE地址欄輸入 //localhost/phpmyadmin/ 使用phpMyAdmin來建立一個名為itlm的資料庫

注意

( )如果伺服器原來已經安裝IIS服務 請在安裝EasyAPM Server前停止服務 或改變默認埠 否則會無法正常安裝

( )EasyAPM Server安裝後 默認登錄用戶名: root 密碼: micronsky net 進入後台後可以使用 許可權 項來更新MySQL資料庫的默認密碼 添加新的MySQL用戶 設置用戶許可權等操作 這里我們新增了一個用戶 itlm_f

( )更多操作請查看EasyAPM Server內的說明文檔

安裝phpwind

免費個人版論壇程序

第 步 下載慶旁解壓phpwind安裝包 從// phpwind /download php?action=do&&p= PWForums&&v= &&n=PHPWind_GBK_ zip下載PHPWind 正式版(PHP+MySQL)高速論壇程序

第 步 上傳phpwind程序文件 如果使用的是虛擬主機 只要用FTP軟體將解壓後的所有文件上傳到網站根目錄下 確保在根目錄下能看到install php就可以了!

如果是自己的伺服器安裝的EasyAPM Server 只要先刪除D:usr下 除phpmyadmin文件夾(在線管理資料庫用)外的所有文件 然後將phpwind zip內的所有文件解壓到D:usr下 確保D:usr下能看到install php文件 這些就是phpwind的論壇的安裝程序文件

第 步 設置相關目錄和文件的屬性(伺服器如果是Windows平台的 此步可省略 直接將相關文件或文件夾設置為可寫即可) 先確認以下目錄或文件屬性為( )可寫模式

data data/sql_config php attachment data/bbscache data/groupdb data/style _data template template/wind template/admin image/upload image/attach

PHP編程免費提供,內容來源於互聯網,本文歸原作者所有。

⑵ 求一段php防mysql注入病毒代碼。

//POST過濾安全
$_POST=check_input($_POST);
function check_input($value)
{
if(get_magic_quotes_gpc()){
$value = htmlspecialchars(trim($value));

} else {
$value = addslashes(htmlspecialchars(trim($value)));
}
return $value;
}
另一種如下:PHP整站防注入程序,需要在公共文件中require_once本文件
<?PHP
//判斷magic_quotes_gpc狀態
if (@get_magic_quotes_gpc ()) {
$_GET = sec ( $_GET );
$_POST = sec ( $_POST );
$_COOKIE = sec ( $_COOKIE );
$_FILES = sec ( $_FILES );
}
$_SERVER = sec ( $_SERVER );
function sec(&$array) {
//如果是數組,遍歷數組,遞歸調用
if (is_array ( $array )) {
foreach ( $array as $k => $v ) {
$array [$k] = sec ( $v );
}
} else if (is_string ( $array )) {
//使用addslashes函數來處理
$array = addslashes ( $array );
} else if (is_numeric ( $array )) {
$array = intval ( $array );
}
return $array;
}
//整型過濾函數
function num_check($id) {
if (! $id) {
die ( '參數不能為空!' );
} //是否為空的判斷
else if (inject_check ( $id )) {
die ( '非法參數' );
} //注入判斷
else if (! is_numetic ( $id )) {
die ( '非法參數' );
}
//數字判斷
$id = intval ( $id );
//整型化
return $id;
}
//字元過濾函數
function str_check($str) {
if (inject_check ( $str )) {
die ( '非法參數' );
}
//注入判斷
$str = htmlspecialchars ( $str );
//轉換html
return $str;
}
function search_check($str) {
$str = str_replace ( "_", "\_", $str );
//把"_"過濾掉
$str = str_replace ( "%", "\%", $str );
//把"%"過濾掉
$str = htmlspecialchars ( $str );
//轉換html
return $str;
}
//表單過濾函數
function post_check($str, $min, $max) {
if (isset ( $min ) && strlen ( $str ) < $min) {
die ( '最少$min位元組' );
} else if (isset ( $max ) && strlen ( $str ) > $max) {
die ( '最多$max位元組' );
}
return stripslashes_array ( $str );
}
//防注入函數
function inject_check($sql_str) {
return eregi ( 'select|inert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|UNION|into|load_file|outfile', $sql_str );

}
function stripslashes_array(&$array) {
if (is_array ( $array )) {
foreach ( $array as $k => $v ) {
$array [$k] = stripslashes_array ( $v );
}
} else if (is_string ( $array )) {
$array = stripslashes ( $array );
}
return $array;
}
?>

⑶ php中關於資料庫的操作(php操作mysql資料庫)

PHP開始~

將php-5.2.1-Win32.zip解壓到准備用於安裝PHP的目錄,這里我就解壓到D:wwwphp;找到php目錄下php.ini-dist文件,改名為php.ini;

用記事本打開php.ini,查找以下幾行:

;extension=php_gd2.dll

;extension=php_mcrypt.dll

;extension=php_mysql.dll

去掉前面的分號.這樣做的目的是讓php載入mcrypt和mysql等各種模塊,在需要的時候可以隨時配置;

其他的比如

post_max_size=8M

upload_max_filesize=2M

都可以按實際情況進差粗行設置.

最後保存,也不需要復制任何文件到系統目錄,這樣PHP基本上就OK了!

MySQL

1、安裝

解壓mysql-5.2.3-falcon-alpha-win32.zip得到一個setup.exe安裝文件,運行之開始安裝MySQLServer5.2;

第一步選擇安裝模式,選擇Custom習慣安裝,Next進入下一步;

這一步選擇安裝內容:仍然虛塵鎮MySQLServer完整安裝,主要是自定義下面的安裝目錄,我安裝在D:wwwMySQL5.2點擊Next進入下一步;

Install開始安裝,稍候會提示注冊MySQL帳戶,SKIP即可;

完成安裝,勾選ConfiguretheMySQLServernow,Finish並進入MySQL配置;

2、配置

完成安裝時若勾選了ConfiguretheMySQLServernow,點擊Finish便可直接進入MySQLServerInstanceWizard;否則就需要在MySQL安裝目錄in下找到並運行.exe進入設置.

點Next開始配置,第一步選擇配置模式,這里我已經安裝了MySQL,所以選擇第一種Detailed模式,Next進入下一步;

這一步selectaservertype,不同的選擇決定MySQL佔用不同的系統內存和CPU資源,這里我選的是DeveloperMachine;

繼續Next,選擇資料庫用途,我選的是多功能型的;

下一步設定InnoDB引擎的存儲目錄,我設置的是D:wwwMySQL5.2InnoDBDatafiles,點擊Next進入下一步;

設置MySQL資料庫的並發連接數,這里需要了解什麼是並發連接數,可根據實際情況進行設定.我這里選的是ManualSetting,並且設置連接數為10000;

Next進入下一步,setthenetworkingoptions,採用默認的,繼續Next;

設置默認語言,選擇第三個,設定character為gbk;

Next將MySQL設置為Windows系統服務,採用默認的,Next進入下一步;

選擇設置root帳戶密碼,或者可以同時新建一個匿名帳戶Anonymous.值得注意的是設置root密碼的下面有一個小選項,是否允許root用戶從別的計算機登陸,為了方便可以勾選上,為了安全兄鎮當然最好就別選;

進入下一步PressExecute開始配置,完成Finish關閉設置向導`~

OK!

⑷ php+mssql 和 php+mysql 優點缺點

一、PHP+MySql

優點:

1) MySql是一個快速、多線程、多用戶的SQL資料庫伺服器。

2) MySql的核心程序採用完全的多線程編程。

3)MySql可運行在不同的操作系統下。

4) MySql有一個非常靈活而且安全的許可權和口令系統。

5) MySql支持ODBC for Windows。

6)MySql支持大型的資料庫。

7) MySql擁有一個非常快速而且穩定的基於線程的內存分配系統,可以持續使用面不必擔心其穩定性。

8) 強大的查詢功能。

9)PHP為MySql提供了強力支持,PHP中提供了一整套的MySql函數,對MySql進行了全方位的支持。

缺點:

比較的難學;

MySQL不完全支持陌生的關鍵詞;

MySQL也缺乏一些存儲程序的功能;

使用預設的ip埠,但是有時候這些ip也會被一些黑客闖入;

使用myisam配置,如果你不慎損壞資料庫,結果可能會導致所有的數據丟失;

二、PHP+MsSql

優點:

上手容易; 兼容性良好; 利於構築"敏捷性商務";

缺點:

只能在windows 上運行,沒有絲毫的開放性,操作系統的系統的穩定對資料庫是十分重要的。

並行實施和共存模型並不成熟。很難處理日益增多的用戶數和數據卷。伸縮性有限;

安全性方面,沒有獲得任何安全證書;

客戶端支持及應用模式 ,是C/S結構,只支持windows客戶,可以用ADO, DAO,OLEDB,

ODBC連接;

不是免費的;

數據不容易恢復;

⑸ php鏈接MySQL資料庫

如果不是root密碼:
連root的密碼也忘記了嗎?
沒有的話,用root進去,修改mysql資料庫user表咯。

如果是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/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.重新啟動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的登錄設置修改回來
# vi /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables刪除
保存並且退出vi。
6.重新啟動mysqld
# /etc/init.d/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,MySQL4.1以上版本一種密碼錯誤問題的解決方法
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/hostname.pid`
你必須是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用戶了,密碼為空……

熱點內容
b級車買哪個配置 發布:2025-02-04 05:56:41 瀏覽:560
我的世界如何看lp伺服器 發布:2025-02-04 05:56:33 瀏覽:482
外賣盒子如何設置密碼 發布:2025-02-04 05:49:33 瀏覽:504
國產安卓編程軟體哪個最好 發布:2025-02-04 05:49:25 瀏覽:387
什麼是身份證密碼 發布:2025-02-04 05:43:41 瀏覽:785
雲伺服器江蘇 發布:2025-02-04 05:38:46 瀏覽:238
演算法及vb 發布:2025-02-04 05:33:37 瀏覽:102
安卓手機怎麼自檢電池 發布:2025-02-04 05:31:31 瀏覽:410
兩種存儲 發布:2025-02-04 05:26:43 瀏覽:203
手機php源碼 發布:2025-02-04 05:08:22 瀏覽:548