本文分享我自己如何實作使用者資料的驗證與消毒,驗證與消毒可以使你的應用程式更安全。但請注意,以下介紹的只是我的作法(或者我知道的作法),並不代表只能這樣做,或者我的作法是好的。 外部資料來源
為何需要雜湊密碼 密碼若以明文的形式儲存在資料庫當中,當應用程式產生漏洞而導致資料庫注入攻擊將可能導致密碼外洩,故以雜湊後的雜湊值儲存是安全的,此外也能避免網站被懷疑洩漏密碼。 從P......
閉包與匿名函式 閉包是創造時就封裝了內部狀態的函式,即使函式已經結束了,但狀態會一直被保存在閉包中。匿名函式就是沒有名字的函式,匿名函式可以跟其他物件一樣......
產生器 產生器是一個簡單的迭代器,只在有需要的時候計算並產生迭代的數值;但是產生器是一個用過即丟的工具,無法利用同一個產生器重複迭代,也不能倒退。 產生器的使用 如果我們要......
何謂特徵機制? PHP中的特徵機制是一個類別的局部實作(方法或屬性等),而且可以被多個類別同時使用;而特徵機制具有介面(定義類別可以做什麼)與模組化(不必重複篩寫程式碼)的特性。 從範例了解......
本文討論PHP物件導向當中的介面,應該與其他語言中的物件導向是差不多的。 何謂介面(Interface)? 介面可以做為兩個類別溝通的橋樑,讓一個類別可以知道另外一個類別要做什麼,讓這些類別有了共......
此次升級PHP7遇到一個問題,header()函數沒辦法正常運作,被報錯以下訊息: PHP Warning: Cannot modify header information - headers already sent by (output started at /xxx/xxx/xxx.......
上一回提到命名空間是在"C#的命名空間與Java的套件包"一文當中,比較了Java的Package以及C#的namespa......
JavaScript的陣列有超過一種的宣告方式,也提供了很多的函數可以使用。 JavaScript中的陣列 在JS當中,陣列既是一種資料集合,也是一種物件。 宣告陣列 以Array方法宣告
JavaScript中的具名與匿名函數 介紹之前,先了解在JavaScript中函數分為匿名與具名函數,具名函數會在函數內部建立一個儲存自己函數名稱的變數,而這個變數在函數外是看不見的,而匿名函數則不會儲存自......