假设我有这段代码:
<div class="name" id="<?php echo $userId; ?>">
<p>User Name: <?php echo $username; ?></p>
<p>Last Activity: <?php echo getTime($datetime); ?></p>
<p>Date: <?php echo $date; ?></p>
</div>
在此,我是否还必须在div id属性中编写htmlentities
?
例如,像这样:
<div class="name" id="<?php echo htmlentities($userId); ?>" >...</div>
另外,我是否需要这样做:
<p>Last Activity: <?php echo htmlentities(getTime($datetime)); ?></p>
感谢您的帮助!
P.S.:datetime是我创建的一个功能
答案 0 :(得分:1)
这取决于用户是否可以操纵这些变量。如果他们可以在它们被回应之前,那么你应该清理那些变量(使用htmlentities()和其他变量)。如果这些变量是硬编码的,那么用户就无法操纵它们,那么你就可以了。
基本上,用户可以在调用echo $ userID之前以任何方式更改变量$ userID吗?然后,是的,为了安全起见,你应该包括htmlentites和其他一些东西。
这是link可能会有所帮助。请务必阅读答案的评论。