Joomla 2.5默认情况下限制用户可以执行的投票数。这受到IP地址的限制。
是否有任何简单的方法允许每个IP地址多次投票?
我正在使用CORE投票。
答案 0 :(得分:1)
实际上,Joomla! 2.5仅存储每个项目的最后一个选民的IP地址。
如果另一个投票来自不同的IP地址,则具有原始IP地址的用户可以再次投票。
此行为在/components/com_content/models/article.php
中定义,大约在第308行。
if ($userIP != ($rating->lastip))
{
$db->setQuery(
'UPDATE #__content_rating' .
' SET rating_count = rating_count + 1, rating_sum = rating_sum + '.(int) $rate.', lastip = '.$db->Quote($userIP) .
' WHERE content_id = '.(int) $pk
);
if (!$db->query()) {
$this->setError($db->getErrorMsg());
return false;
}
} else {
return false;
}
更改它涉及核心文件黑客攻击。
您可以做的一件事是让if
子句中的测试始终返回true
,因此有一种可能性是评论第一行并将其替换为
if (true)//$userIP != ($rating->lastip))
{
$db->setQuery(
'UPDATE #__content_rating' .
' SET rating_count = rating_count + 1, rating_sum = rating_sum + '.(int) $rate.', lastip = '.$db->Quote($userIP) .
' WHERE content_id = '.(int) $pk
);
if (!$db->query()) {
$this->setError($db->getErrorMsg());
return false;
}
} else {
return false;
}
我发现原始核心解决方案不是很好,而且也无法自定义。