清理joomla中的输入

时间:2013-01-08 14:30:24

标签: joomla joomla2.5 joomla-extensions joomla-component

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

$some_id = $_GET["someid"];

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

$result = $db->loadRow();

Joomla是否自动清理了这个,或者我需要做些什么(以及什么)来清理这个查询?使用Joomla 2.5。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

看看JInput和这个corresponding documentation

过滤示例:

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

答案 2 :(得分:1)

请看看你会得到答案

安全编码指南

http://docs.joomla.org/Secure_coding_guidelines