
158
|
第十二章:當資料庫攻擊時:何時要堅持使用檔案的守則
檔案一定不是適合所有的狀況。它們適合使用在需要大量讀取、少數的修改以及僅需要
極少將資料轉換為代表型態的成本的狀況中。這些狀況包含了儲存記錄(如網站伺服器
記錄)、記錄事件、抓取的網頁、大型二進位資料以及感測器資料。
感測器資料並不會隨著時間改變。歷史記錄是固定的。因此,如同步多重寫入功能的需
求性則非常低。類似的狀況則包含了服務靜態網頁。動態網站,藉由一個靜態網站產生
器將其轉換為檔案,則能夠大大的增加服務的擴充性。
檔案的概念
使用檔案來當作資料儲存不全然是好的。在你完全使用檔案之前,必須要好好地考慮不
同的檔案型態、格式以及可能的問題。
編碼
編碼
是將 0 與 1 轉換為字元的標準。傳統的編碼,如 ASCII,會擁有一張翻譯表格,將
如 111100(以十進位表示則是 60)的位元序列轉換為大寫字母
A
。不幸的是,在一個
位元組之內只有 256 種位元序列。Unicode 增加了一些複雜度,但提供許多更彈性的東
西。其中一個 Unicode 的編碼,也就是 UTF-8,它的長度是變動的,並且能夠從補充的
位元組中,使用特定符號等資訊來支援註解。
文字檔案
文字檔案單純的就是遵守某個編碼的檔案。它們通常是可被列印的,人眼能夠讀取它們
的內容。
二進位資料
可以將它視為並沒有遵守某個已知的編碼表示文字的檔案。因此,二進位檔案的位元組
可能會包含可被印出的字元,但印出的文字通常會是亂碼。有些二進位格式需要特別的
工具,來將原始的位元組翻譯為有意義的表示。
記憶體對應的檔案 ...