前幾天部落格被發文機發了許多垃圾評論,幾十則那麼多。做網站那麼久沒有試過這樣的狀況,都怪自己沒有加驗證碼功能。為了防止再次被攻擊,做個驗證碼過濾程式是必要的。我在網路上找了一些資料,覺得用別人做好的程式碼總是很不爽,自己做麻又不會寫複雜的程式碼,特別是生成圖片的那種。嘗試了網路上的很多種方法都不行,不知道為什麼,可能沒經驗。感覺挺複雜的。
最後花了一個小時寫了一個超級簡單的驗證程式碼,哈哈絕對是原創,只有十幾行程式碼。是隨機生成的,因為比較簡單所以對付不了那些強大的發文軟體,不過總比沒有的好,放上驗證碼之後觀測了幾天多是沒有見到發垃圾帖了,應該有效吧,哈哈。
例子:
======show.asp======
複製代碼代碼如下:
<%
randomize
randm=Int((9000*rnd)+1000) 隨機產生4位元的數字代碼
%>
驗證碼:<INPUT name=yzm id=netadd size=4 maxlength=4> <%=randm%> 這裡有一個文字框,並且在旁邊呼叫了隨機產生的那個函數
這個js程式碼就是要驗證輸入的驗證碼是否正確。
複製代碼代碼如下:
<SCRIPT type=text/javascript>
function sendForm(obj)
{
if( obj.yzm.value!=<%=randm%>)
{
alert(驗證碼錯誤);
obj.content.focus();
return false;
}
obj.submit();
return true;
}
</SCRIPT>
在確定鈕裡加上這樣的一句話
<INPUT onclick=sendForm(this.form); type=button name=Submit2 value=新增>
紅色的文字一定要看清楚,如果不對應那是運作不了的。
基本上就是這麼簡單,可以說是核心程式碼了,其實還可以做得更複雜的,只是還沒想去做,到什麼時候再有垃圾貼文了再做。