Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Голосование за фото в Coppermine Gallery с проверкой IP  (Read 6869 times)

0 Members and 1 Guest are viewing this topic.

BLACKSnake

  • Coppermine newbie
  • Offline Offline
  • Posts: 2

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

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page

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

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

Найти:
Code: [Select]
$sql = "SELECT null FROM {$CONFIG['TABLE_VOTES']} WHERE pic_id = $pic AND user_md5_id = '$user_md5_id'";
После добавить:
Code: [Select]
$sql2 = "SELECT null FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid = $pic AND ip = '$raw_ip'";
Найти:
Code: [Select]
$result = cpg_db_query($sql);
После добавить:
Code: [Select]
$result2 = cpg_db_query($sql2);
Найти:
Code: [Select]
if (mysql_num_rows($result)) {
Заменить на:
Code: [Select]
if (mysql_num_rows($result) OR mysql_num_rows($result2)) {
Найти:
Code: [Select]
mysql_free_result($result);
После добавить:
Code: [Select]
mysql_free_result($result2);
Открыть:
./include/themes.inc.php

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

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

ПЕРЕД добавить:
Code: [Select]
global $raw_ip;
Найти:
Code: [Select]
$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'");
После добавить:
Code: [Select]
$result2 = cpg_db_query("SELECT pid FROM {$CONFIG['TABLE_VOTE_STATS']} WHERE pid={$CURRENT_PIC_DATA['pid']} AND ip='$raw_ip'");
Найти:
Code: [Select]
} elseif (!mysql_num_rows($result)) {
Заменить на:
Code: [Select]
} elseif (!mysql_num_rows($result) AND !mysql_num_rows($result2)) {
Всё.
Logged

BLACKSnake

  • Coppermine newbie
  • Offline Offline
  • Posts: 2

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

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page

Сделал по инструкции.
Все равно позволяет голосовать после удаления куков.
Только счетчик голосов не изменяется, а общий бал меняется.
Выложите в архиве измененные Вами файлы:
  • ./ratepic.php
  • ./include/themes.inc.php
Logged
Pages: [1]   Go Up
 

Page created in 0.033 seconds with 19 queries.