获取参数值时的PHP安全性

获取参数值时的PHP安全性,php,security,joomla,parameters,Php,Security,Joomla,Parameters,我对PHP了解不多,所以请原谅我的无知。我试图在Joomla管理区域中输入一个参数值,以便在引导容器类中附加一个字符串,从而将页面从固定布局更改为流体布局 我正在像这样检索值 $conType = $this->params->get('conType',''); 然后简单地设置如下 class="container<?php echo "$conType"; ?> 然后再重复一遍。有必要吗?有更好的方法吗?是的,这会有效且安全 如果$conType可以是任何参数,那

我对PHP了解不多,所以请原谅我的无知。我试图在Joomla管理区域中输入一个参数值,以便在引导容器类中附加一个字符串,从而将页面从固定布局更改为流体布局

我正在像这样检索值

$conType = $this->params->get('conType','');
然后简单地设置如下

class="container<?php echo "$conType"; ?>

然后再重复一遍。有必要吗?有更好的方法吗?

是的,这会有效且安全

如果$conType可以是任何参数,那么使用htmlentities()对其进行XSS转义非常重要:

你做这件事的方式甚至更好,尽管这需要付出更多的努力

如果您需要转义多个参数,而不仅仅是一个小的定制,请记住在将来使用htmlentities。作为建议,在继续开发php应用程序之前,请先了解php和安全性(如果您打算这样做的话)。作为一名web开发人员(尤其是php开发人员),您确实应该了解诸如“XSS”、“SQL注入”和“CSRF”之类的主题


[作为htmlspecialchars的替代方案,htmlspecialchars编码更少的字符,请参阅以进行比较]

最好确保您使用的数据符合您的预期。您也可以使用htmlspecialchars()-阅读本文了解更多信息:谢谢,这大大增加了我今天的阅读清单:-)一般来说,您希望同时使用HTML转义(对所有不明确表示为标记的输出变量)和输入验证(确保正确性,而不仅仅是作为一种安全措施,尽管这也有帮助)。
$conType = (int) $this->params->get('conType','0');

if($conType == "1")
{
 $conType = "-fluid";
}
else
{
 $conType = ' ';
}
echo htmlentities($conType)