在joomla中消毒输入



我在Joomla插件中有这样的代码:

$some_id = $_GET["someid"];
$db = JFactory::getDBO();
$db->setQuery("SELECT * FROM #__table WHERE id = '$some_id'");
$result = $db->loadRow();

Joomla会自动清理这个查询吗?还是我需要做一些事情(和什么)来清理这个查询?使用Joomla 2.5

在使用Joomla时不需要清理数据库查询。您正在下拉的信息是已经放在那里或已经在那里的信息,因此您不想更改。我还建议使用Joomla 2.5编码标准来进行数据库查询,如下所示:

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName('*'))
      ->from($db->quoteName('#__table'))
      ->where($db->quoteName('id') . ' = ' . $db->quote($some_id));
$db->setQuery($query);
$rows = $db->loadRow(); //or loadResult()

我唯一一次需要消毒(可以这么说)是在处理文件的时候,在这种情况下,我使用了JFile::makeSafe();

请看一看你会得到你的答案

安全编码指南

http://docs.joomla.org/Secure_coding_guidelines

看一下JInput和相应的文档

滤波器的例子:

$jinput = JFactory::getApplication()->input;
$some_id = $jinput->get('someid', '', 'string');

相关内容

  • 没有找到相关文章

最新更新