2

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

$some_id = $_GET["someid"];

$db = JFactory::getDBO();
$db->setQuery("SELECT * FROM #__table WHERE id = '$some_id'");

$result = $db->loadRow();

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

4

3 回答 3

3

使用 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();.

于 2013-01-08T16:08:55.247 回答
1

看看 JInput 和这个相应的文档

过滤器示例:

$jinput = JFactory::getApplication()->input;
$some_id = $jinput->get('someid', '', 'string');
于 2013-01-08T16:13:24.977 回答
1

请看看你会得到你的答案

安全编码指南

http://docs.joomla.org/Secure_coding_guidelines

于 2013-01-08T16:26:34.587 回答