我在想...... 我們都知道,即使我們在前端驗證它,我們也應該驗證後端的用戶輸入。換句話說 - 前端驗證只是爲了可用性,後端驗證是爲了質量和安全性。輸入驗證 - 一般主題
比方說,我在我的網頁上有一個輸入字段,用戶可以寫一些文本。攻擊者是否有可能輸入這樣一個長文本,使其不適合保存後端文本的變量?到目前爲止,我所看到的只是確保一個字符串適合數據庫字段。
String txt = getParameter("usertext");
assert(txt.length() < 201);
// the field in the database:
// user_text varchar(200),
但是,如果用戶文本veeery長,這麼長時間,String txt
會太小,在第一行會不是我的程序崩潰?
我希望這不會是一個String
多長時間的討論。如果我們能做到這一點W/O堆大小和虛擬內存會很大;)
每個人的性格,甚至2個字節在Java中 – user1414745
是€不是一個UTF-16字符?如果是這樣,那麼測試真的很好:) – user1414745
我不知道它是UTF-8還是16,但是在Oracle中它佔用了多個字節,這是問題所在。在Java中,即使字符需要2個字節,長度方法也不會考慮這一點。 – ioan