我的Joomla插件中有这样的代码:
$some_id = $_GET["someid"];
$db = JFactory::getDBO();
$db->setQuery("SELECT * FROM #__table WHERE id = '$some_id'");
$result = $db->loadRow();
Joomla是否自动清理了这个,或者我需要做些什么(以及什么)来清理这个查询?使用Joomla 2.5。
答案 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)