2014-09-04 54 views
-2

我想不通为什么我隐藏的输入字段仍然在页面的源代码显示:隐藏输入仍然显示在源代码

<form method="POST" ACTION="score.php"> 
    <ul class="answer"> 
    <li> 
     <input type="checkbox" name="answer_0" value="<?php echo $answer_0; ?>"><?php echo answer_0;?></br> 
     <input type="hidden" name="right" value="<?php echo $right;?>"/> 
    </li> 
    </ul> 
    <button type="submit" class="btn btn-warning">Submit</button> 
</form> 

这里有什么问题?我尝试了没有PHP变量,隐藏字段仍然显示。

+5

隐藏只是防止它被渲染,它不会改变源。 – Barmar 2014-09-04 02:27:07

+0

如果这是一个考试问题,所有的学生都会知道正确答案哈哈! – Ghost 2014-09-04 02:27:45

+0

@Barmar是正确的。源代码仍然会显示隐藏的字段。所有的DOM和呈现的HTML代码都在这里显示 – kimbarcelona 2014-09-04 02:28:04

回答

2

这里没有错。隐藏的输入不应该用于用户不能看到的数据。它只是用于他们不需要的数据,需要才能看到,并且会使表单变得混乱。

如果您想要安全地隐藏用户的某些内容,则应该使用会话变量。这些保存在服务器上,不会发送到浏览器。如果您确实需要将某些内容发送给浏览器,并且不希望用户能够从中获取任何内容,则可以先对其进行加密。但请记住,您不能相信用户在发回之前不会修改它。任何来自浏览器的内容都可以由用户调整。