一、驗(yàn)證碼 1、開(kāi)啟驗(yàn)證碼 會(huì)員注冊(cè):后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“用戶設(shè)置”里開(kāi)啟 發(fā)布投稿:修改終極欄目選項(xiàng)設(shè)置里的投稿設(shè)置 會(huì)員登陸:后臺(tái)>“系統(tǒng)設(shè)置”>“參數(shù)設(shè)置”>“用戶設(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í)間越短效果越好,表示從填寫信息到提交表單的最長(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è)置”>“用戶設(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è)置”>“用戶設(shè)置”里開(kāi)啟
七、限制會(huì)員每天投稿數(shù)量 后臺(tái)>“用戶面板”>“管理會(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以上版本支持在線設(shè)置)
九、表單設(shè)置必填項(xiàng): 原理:給會(huì)員表單或系統(tǒng)模型設(shè)置一個(gè)隱藏的必填項(xiàng)。 1、會(huì)員注冊(cè)表單: (1)、后臺(tái)>“用戶面板”>“管理會(huì)員字段”>增加一個(gè)字段,字段類型TINYINT(1) (2)、后臺(tái)>“用戶面板”>“管理會(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è)字段,字段類型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-w-z'; //驗(yàn)證時(shí)間格式,如何組合自己可以換字符位置與更改聯(lián)接符- $empirecms_post_domain='http://oldmartcafe.com'; //驗(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-w-z'; //驗(yàn)證時(shí)間格式,如何組合自己可以換字符位置與更改聯(lián)接符- $empirecms_post_domain='http://oldmartcafe.com'; //驗(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-w-z'; //驗(yàn)證時(shí)間格式,如何組合自己可以換字符位置與更改聯(lián)接符- $empirecms_post_domain='http://oldmartcafe.com'; //驗(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-w-z'; //驗(yàn)證時(shí)間格式,如何組合自己可以換字符位置與更改聯(lián)接符- $empirecms_post_domain='http://oldmartcafe.com'; //驗(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-w-z'; //驗(yàn)證時(shí)間格式,如何組合自己可以換字符位置與更改聯(lián)接符- $empirecms_post_domain='http://oldmartcafe.com'; //驗(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-w-z'; //驗(yàn)證時(shí)間格式,如何組合自己可以換字符位置與更改聯(lián)接符- $empirecms_post_domain='http://oldmartcafe.com'; //驗(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è)置”>“用戶設(shè)置”>“訪問(wèn)控制設(shè)置”,可設(shè)置禁止 IP 訪問(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é)合。 |
|
|
|