一,、驗(yàn)證碼
1、開(kāi)啟驗(yàn)證碼
會(huì)員注冊(cè):后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“用戶(hù)設(shè)置”里開(kāi)啟
發(fā)布投稿:修改終極欄目選項(xiàng)設(shè)置里的投稿設(shè)置
會(huì)員登陸:后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“用戶(hù)設(shè)置”里開(kāi)啟
其它地方開(kāi)啟的可以看下參數(shù)設(shè)置里的相關(guān)設(shè)置,。
2,、驗(yàn)證碼參數(shù)設(shè)置
后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“基本屬性”里有這三個(gè)設(shè)置項(xiàng):
驗(yàn)證碼字符組成:比較復(fù)雜的可以選用“數(shù)字+字母”
驗(yàn)證碼過(guò)期時(shí)間:這個(gè)時(shí)間越短效果越好,表示從填寫(xiě)信息到提交表單的最長(zhǎng)時(shí)間間隔,。
驗(yàn)證碼加密字符串:建議定期修改,,被攻擊時(shí)馬上修改。
二,、設(shè)置表單提交來(lái)源
后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“基本屬性”>“前臺(tái)允許提交的來(lái)源地址”設(shè)置:
http://域名/
一般設(shè)置域名地址即可,,如果要詳細(xì)可以將所有表單提交都加上,比如投稿的:http://域名/e/DoInfo/AddInfo.php
三,、可以設(shè)置發(fā)布時(shí)間間隔
會(huì)員注冊(cè):后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“用戶(hù)設(shè)置”>“同一IP注冊(cè)間隔限制:”:一般設(shè)24小時(shí),。
發(fā)布投稿:后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“信息設(shè)置”>“重復(fù)投稿時(shí)間限制”:設(shè)30秒以上為佳
四、設(shè)置新會(huì)員投稿限制
發(fā)布投稿:后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“信息設(shè)置”>“新會(huì)員投稿限制”:一般可以設(shè)置30分鐘或60分鐘,。
此方法只有在欄目投稿權(quán)限設(shè)置為會(huì)員才有效,。這個(gè)是比較有效的方法,但不適合新開(kāi)的網(wǎng)站,。
五、欄目設(shè)置會(huì)員才能發(fā)布投稿
修改終極欄目選項(xiàng)設(shè)置里的投稿設(shè)置
六、會(huì)員注冊(cè)可采用郵件激活
后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“用戶(hù)設(shè)置”里開(kāi)啟
七,、限制會(huì)員每天投稿數(shù)量
后臺(tái)>“用戶(hù)面板”>“管理會(huì)員組”>修改會(huì)員組里可以限制會(huì)員每天投稿數(shù)量
此方法只有在欄目投稿權(quán)限設(shè)置為會(huì)員才有效,。
八、定期修改前臺(tái)cookie變量前綴
方法1:修改e/class/config.php文件里的“$phome_cookievarpre”變量?jī)?nèi)容
方法2:后臺(tái)>“系統(tǒng)設(shè)置”>“安全參數(shù)配置”里修改(6.5以上版本支持在線(xiàn)設(shè)置)
九,、表單設(shè)置必填項(xiàng):
原理:給會(huì)員表單或系統(tǒng)模型設(shè)置一個(gè)隱藏的必填項(xiàng),。
1、會(huì)員注冊(cè)表單:
(1),、后臺(tái)>“用戶(hù)面板”>“管理會(huì)員字段”>增加一個(gè)字段,,字段類(lèi)型TINYINT(1)
(2)、后臺(tái)>“用戶(hù)面板”>“管理會(huì)員表單”>修改會(huì)員表單:
選擇剛才增加的字段為錄入項(xiàng),、必填項(xiàng),、可增加、可修改,;
會(huì)員表單模板里加:<input type="hidden" name="字段名" value="1">
然后點(diǎn)修改即可,。
建議定期修改字段名,被攻擊時(shí)馬上修改,。
2,、信息投稿表單:
(1)、后臺(tái)>“系統(tǒng)設(shè)置”>“管理數(shù)據(jù)表”>“管理字段”>增加一個(gè)字段,,字段類(lèi)型TINYINT(1)
(2),、后臺(tái)>“系統(tǒng)設(shè)置”>“管理數(shù)據(jù)表”>“管理系統(tǒng)模型”>修改系統(tǒng)模型:
選擇剛才增加的字段為錄入項(xiàng)、投稿項(xiàng),、必填項(xiàng),、可增加、可修改,;
錄入表單模板和前臺(tái)投稿表單模板里都加:<input type="hidden" name="字段名" value="1">
然后點(diǎn)修改即可,。
建議定期修改字段名,被攻擊時(shí)馬上修改,。
十,、自制cookie或SESSION驗(yàn)證
此方法效果佳,但需要修改代碼實(shí)現(xiàn),。下面我以cookie加密驗(yàn)證為例:
在表單頁(yè)加以下PHP代碼:(此代碼前面不能有HTML輸出,,文件要導(dǎo)入e/class/connect.php文件)
$empirecms_post_key='fdsai388f2f823fff'; //密鑰
$empirecms_post_date='Y-m-d-H-i'; //驗(yàn)證時(shí)間格式,如何組合自己可以換字符位置與更改聯(lián)接符-
$empirecms_post_domain='http://www.phome.net'; //驗(yàn)證域名地址
$empirecms_post_ck_var='abcdkpjtf'; //驗(yàn)證cookie變量名
$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);
esetcookie($empirecms_post_ck_var,$empirecms_post_chkey);
在接收函數(shù)加以下PHP代碼:
$empirecms_post_key='fdsai388f2f823fff'; //密鑰
$empirecms_post_date='Y-m-d-H-i'; //驗(yàn)證時(shí)間格式,,如何組合自己可以換字符位置與更改聯(lián)接符-
$empirecms_post_domain='http://www.phome.net'; //驗(yàn)證域名地址
$empirecms_post_ck_var='abcdkpjtf'; //驗(yàn)證cookie變量名
$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);
if(getcvar($empirecms_post_ck_var)!=$empirecms_post_chkey)
{
esetcookie($empirecms_post_ck_var,'');
exit();
}
注意事項(xiàng):表單端和接收端的密鑰,、驗(yàn)證時(shí)間格式、驗(yàn)證域名地址,、驗(yàn)證cookie變量名要一致,,內(nèi)容自行修改,,上面只是例子。定期修改驗(yàn)證內(nèi)容,。
例子:(修改文件建議用DREAMWEAVER修改,,可避免UTF-8被轉(zhuǎn)成GBK編碼)
1、以會(huì)員表單為例:
修改表單端文件:/e/member/register/index.php,,打開(kāi)文件搜索“$ecmsfirstpost=1;”,,在這行下面加:
$empirecms_post_key='fdsai388f2f823fff'; //密鑰
$empirecms_post_date='Y-m-d-H-i'; //驗(yàn)證時(shí)間格式,如何組合自己可以換字符位置與更改聯(lián)接符-
$empirecms_post_domain='http://www.phome.net'; //驗(yàn)證域名地址
$empirecms_post_ck_var='abcdkpjtf'; //驗(yàn)證cookie變量名
$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);
esetcookie($empirecms_post_ck_var,$empirecms_post_chkey);
修改接收端函數(shù)文件:e/class/user.php,,打開(kāi)文件搜索“eCheckIpRegTime($regip,$pr['regretime']);”,,在這行下面加:
$empirecms_post_key='fdsai388f2f823fff'; //密鑰
$empirecms_post_date='Y-m-d-H-i'; //驗(yàn)證時(shí)間格式,如何組合自己可以換字符位置與更改聯(lián)接符-
$empirecms_post_domain='http://www.phome.net'; //驗(yàn)證域名地址
$empirecms_post_ck_var='abcdkpjtf'; //驗(yàn)證cookie變量名
$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);
if(getcvar($empirecms_post_ck_var)!=$empirecms_post_chkey)
{
esetcookie($empirecms_post_ck_var,'');
exit();
}
2,、以投稿表單為例:
修改表單端文件:/e/DoInfo/AddInfo.php,,打開(kāi)文件搜索“$tbname=$cr['tbname'];”,在這行下面加:
$empirecms_post_key='fdsai388f2f823fff'; //密鑰
$empirecms_post_date='Y-m-d-H-i'; //驗(yàn)證時(shí)間格式,,如何組合自己可以換字符位置與更改聯(lián)接符-
$empirecms_post_domain='http://www.phome.net'; //驗(yàn)證域名地址
$empirecms_post_ck_var='abcdkpjtf'; //驗(yàn)證cookie變量名
$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);
esetcookie($empirecms_post_ck_var,$empirecms_post_chkey);
修改接收端函數(shù)文件:e/class/qinfofun.php,,打開(kāi)文件搜索“$keyvname='checkinfokey';”,在這行下面加:
$empirecms_post_key='fdsai388f2f823fff'; //密鑰
$empirecms_post_date='Y-m-d-H-i'; //驗(yàn)證時(shí)間格式,,如何組合自己可以換字符位置與更改聯(lián)接符-
$empirecms_post_domain='http://www.phome.net'; //驗(yàn)證域名地址
$empirecms_post_ck_var='abcdkpjtf'; //驗(yàn)證cookie變量名
$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);
if(getcvar($empirecms_post_ck_var)!=$empirecms_post_chkey)
{
esetcookie($empirecms_post_ck_var,'');
exit();
}
十一,、屏蔽IP段
后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“用戶(hù)設(shè)置”>“訪(fǎng)問(wèn)控制設(shè)置”,可設(shè)置禁止 IP 訪(fǎng)問(wèn)
技巧:(執(zhí)行SQL前請(qǐng)先備份數(shù)據(jù))
1,、批量刪除所有未審核會(huì)員SQL:
delete from phome_enewsmember where checked=0;
delete from phome_enewsmemberadd where userid not in (select userid from phome_enewsmember);
2,、批量刪除某一會(huì)員ID段會(huì)員SQL:(下面是刪除2500~3000會(huì)員ID之間的會(huì)員)
delete from phome_enewsmember where userid>=2500 and userid<=3000;
delete from phome_enewsmemberadd where userid>=2500 and userid<=3000;
3、批量刪除所有未審核的信息SQL:
delete from phome_ecms_news where checked=0;
delete from phome_ecms_news_data_1 where id not in (select id from phome_ecms_news);
4,、批量刪除所有標(biāo)題包含“cms”的信息SQL:
delete from phome_ecms_news where where title like '%cms%';
delete from phome_ecms_news_data_1 where id not in (select id from phome_ecms_news);
其他說(shuō)明:
一般開(kāi)啟驗(yàn)證碼就能防護(hù)(記得定期更改“驗(yàn)證碼加密字符串”),。
如果對(duì)方確實(shí)盯上你的站,針對(duì)你的網(wǎng)站來(lái)做灌水機(jī),,考慮用上面的其他方法結(jié)合,。