我客户的网站有一个“在线评估”部分,由 40 个字段组成。每个字段都需要用户输入,我有程序根据问题允许输入 50 到 200 个字符。
然后表格被发送到客户的邮件中,但它也存储在数据库中,以便客户以后可以检查所有表格。
我正在使用 codeigniter,并且我使用了活动记录来防止 sql 注入。我还使用我在另一个问题中发现的方法对其进行了垃圾邮件验证。我要隐藏字段,一个用css隐藏。如果值已填写或不匹配,则表单不会验证。(顺便说一句,这是否足够或者我还应该添加验证码?)。
代码是这样的:
<p class="mail"><input type="text" name="mail" id="mail" /></p> //then I hyde this with css
<input type="hidden" name="mail" value="some value" />
然后我验证它
if( $this->input->post('mail', true) != '' AND $this->input->post('mail', true) != 'some value')
{
die('could not send your request');
}
else
{
process form
}
我的问题是,在创建数据库表时,因为我添加了 42 个字段,我不知道是不是我的电脑,但我的互联网连接速度真的变慢了,几乎崩溃了。我担心攻击者可能会尝试多次填写此表单并完全填写每个字段,然后数据库崩溃?这可能吗?
将该表分为两个或三个不同的表是否更安全?还是那毫无意义?我对安全性了解不多,我正在努力寻找可以学习的地方,但是我找到的所有信息都充满了我不太了解的术语,所以很难。我非常感谢您的帮助。
编辑:正确的做法是什么?