2011-03-14 74 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