我想知道......我们都知道,我们应该在后端验证用户输入,即使我们在前端验证它。换句话说 - 前端验证只是为了可用性,后端验证是为了质量和安全。
假设我的网页上有一个输入字段,用户可以编写一些文本。攻击者是否有可能输入如此长的文本,以至于它不适合在后端保存文本的变量?到目前为止,我所看到的只是确保字符串适合数据库字段。
String txt = getParameter("usertext");
assert(txt.length() < 201);
// the field in the database:
// user_text varchar(200),
但是如果用户文本很长,那么长String txt
就太小了,我的程序不会在第一行崩溃吗?
我希望这不会是关于 aString
可能有多长的讨论。如果我们可以在没有堆大小和虚拟内存的情况下做到这一点,那就太好了;)