demo, trying to be the best_
demo, trying to be the best_
這次來到第二種自訂驗證的方法 SingleVal,其實這裡說的這些都是屬於前端驗證的方法,後端是很隨意的 讓我們來假設一下,今天 demo小鋪開放註冊會員,但是不希望有任何人註冊有關於 demo 這個名字,如果使用上一篇文章介紹的 AddBool 方式來寫,當哪一天要改成 「demoshop」 或是 「demo小鋪」的時候就會有很多地方要改,但是明明驗證邏輯是一樣的只是驗證的比對值不同,所以可以利用所謂的 AddSingleVal 方法來擴充驗證,要比對的值使用參數傳入,驗證的邏輯則是固定,這樣子就可以運用到多個情境,以下就是介紹
在上一篇系列文中介紹了 ASP.NET MVC3 原生的驗證使用方法,是很好用但是稍嫌不足,如果今天我們要驗證欄位的值是否為 Email 的格式,不可能每次都組出 Regex 來驗證,這是會累死人的,而且也不能保證每次寫出來的 Regex 都一樣,所以自訂驗證規則就是很重要的了,在 ASP.NET MVC3 中可以輕鬆自在的實作 ValidationAttribute 和 IClientValidatable 來擴充需要的驗證邏輯,此篇文章就先來介紹最簡單的 是否驗證。
撰寫網頁程式的時候經常的需要對於表單資料實行驗證的功能,在 ASP.NET MVC 2 的時代也有提供所謂的內建驗證,但因為前端是使用了 MicrosoftMvcValidation 來實作,因此很讓人不想學...而去改用其他的前端驗證,如 jQuery.Validate等好用的前端驗證,但驗證只做前端等於找死,因此又要去實作後端的部份 Code,前後改一下再加上自訂的驗證後等於自己寫了一套驗證模組,十分的辛苦,而且也不是普通使用者可以寫出來的(需要了解一些可愛的反射與屬性),但這痛苦的經驗不需要在 ASP.NET MVC 3 再來一次,因為官方提供了兩個介面(IClientValidatable、IValidatableObject)讓每位開發人員可以輕鬆簡單的擴充出自己需要的驗證規則,並且也很容易的寫成前端後端都支援的驗證。
這標題看起來好像很猛,但是其實這種需求本身就是沒意義的需求(破解的方式太多種),但是江湖路走多了,還是會遇到這種需求為了避免花費太多時間在這種地方,所以 demo 就整理了這篇文,列出實作方法與破解方法讓遇到此需求的朋友可以明確的知道各種限制的作法與破解方法。
demo 最近有碰到一個問題,我的電腦使用 VPN 連線至客戶電腦,要操作使用SQL,但因為該台主機的 SQL 並不允許使用輸入帳號密碼的方式登入,而是改用更安全的 Windows 驗證,但我們網域又不一樣,我怎麼登入的進去....
一直以來都沒有在乎過這玩意,直到上次的專案客戶要求我們隱藏版本資訊才去找了一下資料其實隱藏版本資訊的好處是有的至少一些因為版本而產生的洞不會讓有心人士看版本就知道要往哪裡打。
之前有一個案子,客戶相當重視著作權的問題,要求我們把網頁的滑鼠右鍵功能拿掉,製作網頁那麼多年當然覺得這實在是很沒意義,有心偷的人還是可以拿回去,但是客戶說至少要防範一般使用者,那....就上吧。
最近因為案子有資安的需求,所以某些頁面一定要使用 SSL 來連結,因此利用了 ActionFilter 來做一個很簡單的解法。
一個網站一定會遇到會員或是驗證登入的機制,就算你網站不是會員制,也至少有個後台讓你自己登入去修改些什麼,原本在 ASP.NET 就有 Membership 而且滿方便的,現在demo就來告訴你在 ASP.NET MVC 中一樣可以很方便的登入。
一個網頁很難不需要驗證使用者是否登入的機制,在ASP.NET MVC中有很方便的機制可以直接使用,但是有時候我們並不需要搞到那麼複雜的驗證,只是要做一個簡單的驗證,demo今天在做活動頁面的時候剛好有個統計資料不想讓每個人都可以看到所以實做了一個簡單的驗證機制。
幫鄰家大姊姊灌電腦的時候,明明就知道他是個著作權捍衛者,但是產品說明書早不見了,改灌台製版就是怪怪的明明花了錢,為啥不能用自己的序號呢?這時候Keyfinder就派上用場啦,它可以抓出此台電腦軟體的序號,讓你不會發生買正版用盜版的處境=.=