2011-03-14 43 views
0

问: 我使用CakePHP和形式帮手CakePHP的,模糊,散,形式IDS

我的形式看起来像这样

    <?= $form->create(info);?> 
       <?= $form->input('FirstOwner.fname');?> 
       <?= $form->input('FirstOwner.lname');?> 
       <?= $form->input('FirstOwner.first_owner_title');?> 
       <?= $form->input('FirstOwner.first_owner_precentage');?> 
       <?= $form->input('FirstOwner.first_home_address');?> 
       <?= $form->input('FirstOwner.first_owner_city');?> 
       <?= $form->input('FirstOwner.first_owner_state');?> 
       <?= $form->input('FirstOwner.first_owner_zip');?> 
    <?= $form->end(); ?> 

的HTML输出

<div class="input text"><label for="FirstOwnerFname">Fname</ 
label><input name="data[FirstOwner][fname]" type="text" 
maxlength="255" value="" id="FirstOwnerFname" /></div>   <div 
class="input text"><label for="FirstOwnerLname">Lname</label><input 
name="data[FirstOwner][lname]" type="text" maxlength="255" value="" 
id="FirstOwnerLname" /></div> 

如何我可以混淆/散列id名称和id?

我希望它会产生类似

<div class="input text"><label for="FirstOwnerFname">Fname</ 
label><input name="5sdf65sf6g56asdf56as" type="text" maxlength="255" 
value="" id="asd45a5sd4a5sd45ad"/
+1

你试图通过这样做阻止什么样的攻击? – 2011-03-14 23:54:10

回答

0

创建自己使用$form->hidden()$form->text(),诸如此类的元素。然后你可以控制字段名称。但是在保存之前,您需要手动将它们翻译回控制器。

但是......你为什么要这样做?我希望没有安全隐患?

+0

这是想法,通过默默无闻的安全。这不是一个好主意吗? – john 2011-03-14 23:26:09

+0

@john不,从来没有。另外,有什么意义?仍然会有一个与该领域相关的标签,告诉人类该领域的用途。字段名称可能会被模糊处理,但相同的信息仍然存在,它*需要为*。 – deceze 2011-03-15 00:01:41