上次寫了點關於驗證碼製作的**,算是學習了drawing中的一些東西,心裡很快活,也樂意為大夥兒做些善事,於是便萌發了把驗證碼封裝成簡單的控制項發布出去的念頭——起初是用ashx(一般處理程式,俗稱httphander)的做法,ok。在webform和mvc兩種情況下毫無問題——**很簡單,假設把ashx放在程式根目錄,那麼你就在頁面中對應弄上乙個img即可:
<img
src="/image.req"
/>
這樣生成img標籤自動也會請求這個handler,生成(不要忘記配置handler就可以了)。
後來多方請教,直到遇到了大神imran_ku07之後我才恍然大悟(看到
x這篇類似的問題)——原來當你寫"/image.req"的時候,預設路由就會按照「controller/action/defaultoptionalvalue」去匹配:這樣的話,controller就變成了「image.req」,自然沒有這個controller,然後自然報錯(無法出來)。
解決辦法就是讓這個路徑不要通過預設的route方式解析,使用ignoreroute方式排除這個路徑(粗體):
[c#]
publicclass
.axd/
");routes.ignoreroute("
.req/
");routes.maproute(
"default
", //
路由名稱"//
", //
帶有引數的 url
new //
引數預設值
); }
protected
void
}
[vb.net]
publicclass
inherits
public
shared
sub registerroutes(routes as
routecollection)
routes.ignoreroute(
".axd/
")routes.ignoreroute("
.req/")
'
路由名稱
'帶有引數的 url
'引數預設值
routes.maproute("
default
", "
//", new
with
)
end sub
protected
sub arearegistration.registerallareas()
registerroutes(routetable.routes)
end sub
end class
這樣一來,果然在asp mvc中也可以咯!神啦!
「福無雙至,禍不單行」——下午某時有個中軟的程式設計師找我詢問關於如何遮蔽mvc外掛程式的事情(它的專案根目錄有plugin資料夾,然後裡邊有大量其它重要檔案,現在不想要別人訪問)。我想了以下,給了兩個解決方案:
1)在根目錄web.config中配置如下(相對於根目錄的子目錄——plugin中後面子資料夾和檔案均無法訪問)
2)拷貝乙個web.config檔案到plugin資料夾中,然後這樣配置(表示當前資料夾中所有子資料夾和檔案均無法訪問)
他的問題是解決了,我又冒出新問題了——既然mvc可以通過:「http://localhost/資料夾名/檔案」的形式直接訪問檔案,那麼它為什麼不會把「資料夾名」解析成controller,「檔案」解析成action呢?我猜想如下:
1)任何網頁程式預設「潛規則」解析是根據位址列輸入的虛擬路徑尋找對應的檔案(傳統asp.net web也不例外),因此mvc也有此潛規則——如果位址列輸入的虛擬路徑恰好可以對映找到真實的檔案,那麼直接返回結果,就不會在route了。
2)如果找不到:
2.1)嘗試route(按照預設或者其它定義規則:http://localhost///defaultoptionalparameter)進行解析。
2.2)如果解析成功,那麼返回action中對應的view,解析失敗,丟擲異常。
3)如果某個請求位址(比如image.req純粹是乙個ashx請求,真實檔案路徑均不存在),直接使用route規則匹配肯定錯誤,此時你就應該告知系統「這是例外」(用ignoreroute即可)。
附加說明:
php驗證碼的製作
登入註冊時需要驗證碼,有點干擾和線干擾。效果如圖所示,每次重新整理所顯示文字及干擾點,干擾位置隨機改變 session start image imagecreatetruecolor 100,30 建立100 30的 bgcolor imagecolorallocate image,255,255...
PHP驗證碼的製作
if isset session 隨機生成驗證碼函式 param m 驗證碼位數 預設值為4 param type 驗證碼型別 0 數學 1 數字 小寫字母 2 數字 大小寫字母 function getcode m 4,type 0 return c 1.獲取驗證碼字元 num 4 str get...
關於工行驗證碼識別的一些問題
1.關於亦思驗證碼識別系統 是用於識別的系統性軟體,其用途廣泛,適用於各類驗證碼識別,本地識別,車牌號碼識別,漢字文字識別等領域,擁有識別庫體積小,識別速度快,準確率高,操作簡便,呼叫方便,高效率製作等特點。自發布以來,就受到很多使用者好評,被國內各大知名軟體 相繼收錄。ps 好像官方倒閉黃了吧。但...