News:

CPG Release 1.6.29
During HTML5 upload, keep pseudo blank code 200 messages from triggering error condition
added Russian language
correct failure to use theme menu icons in album manager
minor vulnerabilities mitigation

Main Menu

Голосование за фото в Coppermine Gallery с проверкой IP

Started by BLACKSnake, October 29, 2010, 11:21:49 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

BLACKSnake

Можно ли сделать так, чтобы с одного IP возможно было проголосовать только один раз?

Makc666

Quote from: BLACKSnake on October 29, 2010, 11:21:49 AM
Можно ли сделать так, чтобы с одного IP возможно было проголосовать только один раз?

Открыть:
./ratepic.php

Найти:
$sql = "SELECT null FROM {$CONFIG['TABLE_VOTES']} WHERE pic_id = $pic AND user_md5_id = '$user_md5_id'";

После добавить:
$sql2 = "SELECT null FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid = $pic AND ip = '$raw_ip'";

Найти:
$result = cpg_db_query($sql);

После добавить:
$result2 = cpg_db_query($sql2);

Найти:
if (mysql_num_rows($result)) {

Заменить на:
if (mysql_num_rows($result) OR mysql_num_rows($result2)) {

Найти:
mysql_free_result($result);

После добавить:
mysql_free_result($result2);

Открыть:
./include/themes.inc.php

Найти: (обратите внимание на пустую строку перед искомым кодом)


if (!(USER_CAN_RATE_PICTURES && $CURRENT_ALBUM_DATA['votes'] == 'YES')) {


ПЕРЕД добавить:
global $raw_ip;

Найти:
$result = cpg_db_query("SELECT pic_id FROM {$CONFIG['TABLE_VOTES']} WHERE pic_id={$CURRENT_PIC_DATA['pid']} AND user_md5_id='$user_md5_id'");

После добавить:
$result2 = cpg_db_query("SELECT pid FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid={$CURRENT_PIC_DATA['pid']} AND ip='$raw_ip'");

Найти:
} elseif (!mysql_num_rows($result)) {

Заменить на:
} elseif (!mysql_num_rows($result) AND !mysql_num_rows($result2)) {

Всё.

BLACKSnake

Сделал по инструкции.
Все равно позволяет голосовать после удаления куков.
Только счетчик голосов не изменяется, а общий бал меняется.

Makc666

Quote from: BLACKSnake on November 08, 2010, 09:54:36 AM
Сделал по инструкции.
Все равно позволяет голосовать после удаления куков.
Только счетчик голосов не изменяется, а общий бал меняется.
Выложите в архиве измененные Вами файлы:

  • ./ratepic.php
  • ./include/themes.inc.php