ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

16.11.2007, 18:50
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
darckmilord: можно сделать таблицу в бд в которую будут делаться записи ip|время голосования потом при голосовании проверять как давно голосовал или голосовал ли.либо сессии
|
|
|

16.11.2007, 18:55
|
|
Познающий
Регистрация: 08.02.2007
Сообщений: 41
Провел на форуме: 136843
Репутация:
13
|
|
хммм scrat знаешь я бы рад но есив я на пхп не могу это пока организовать то что говорить про работу с базами данных....
|
|
|

16.11.2007, 19:39
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
Моно в файл записать с каких айпи голосовали а при голосовани проверять если такой ип уже голосовал.
(если это скрипт теоретический и его не будут ставить на сайт.)
но лучше помойму в кукисах прописать отметку о том что человек проголосовал....
А вот как это сделать пусть ктото из программистов ответит .. а то я пока не наю как это делать =)
Последний раз редактировалось Doom123; 16.11.2007 в 19:44..
|
|
|

16.11.2007, 19:49
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Сообщение от Doom123
Моно в файл записать с каких айпи голосовали а при голосовани проверять если такой ип уже голосовал.
PHP код:
<?
$file = 'ips.txt';
if( substr_count( file_get_contents($file), getenv('REMOTE_ADDR') ) < 1 )
{
golosovanie(); // ну здесь само голосование
$fopen = fopen( $file, 'a' );
fwrite( $fopen, getenv( 'REMOTE_ADDR') );
fclose( $fopen );
}
else
{
echo('Вы уже голосовали');
}
?>
но лучше помойму в кукисах прописать отметку о том что человек проголосовал....
Нет не лучше. любой может очистить или изменить кукисы.
|
|
|

16.11.2007, 19:59
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
а что если сидят 20 человек на сайте с одного ип?
и если записывать для каждого голосования ип в отдельный файл то это просто будет увеличивать размеры скрипта.... ладно еси проголосуют 20 - 30 а если 30к или 100к?
Последний раз редактировалось Doom123; 16.11.2007 в 20:03..
|
|
|

16.11.2007, 20:02
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Сообщение от Doom123
а что если сидят 20 человек на сайте с одного ип?
Попробуй ещё и по браузеру проверять..
PHP код:
<?
$file = 'ips.txt';
if( substr_count( file_get_contents($file), getenv('REMOTE_ADDR')." ".$_SERVER["HTTP_USER_AGENT"] ) < 1 )
{
golosovanie(); // ну здесь само голосование
$fopen = fopen( $file, 'a' );
fwrite( $fopen, getenv( 'REMOTE_ADDR')." ".$_SERVER["HTTP_USER_AGENT"] );
fclose( $fopen );
}
else
{
echo('Вы уже голосовали');
}
?>
Как-ниубдь так =)
|
|
|

17.11.2007, 13:57
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
Провел на форуме: 482261
Репутация:
58
|
|
у меня еще вариант с системным временем.
врядли будет совпалать секунда в секунду время на разных машинах,довольно редко да и при этом с одного айпи+с того же браузера...
проверка времени.
Берем выдираем системное время сервера(H1.M1.S1) и полученное нами время на машине у клиента(H2.M2.S3)....дальше из серверного времени вычитаем клиентское время(H1-H2.M1-M2.S1-S),у нас получается разница двух времен(H3.M3.S3)...совпадение мало вероятно...(но и тут же есть проблемы,еслиу клиента слишком медленный инет то данная тема будет ошибаться,хотя кто будет проводить атаку на медленном сервере)...и вписываем эту разницу в файл с ip клиента и его браузером...
т.е.
берем выдираем ip,браузер,системное время(через яваскрипт)...потом подается запрос...
и мы со своей стороны делаем проверку. в 3этапа:
1-Проверяем наличие данного ip.
2-если ip уже есть сверяем его браузеры
3-если сново сопадает - проверяем время.
Итог-
если все совпадает то человек уже здесь был,иначе-голосует
p.s.: ну я бы и не отказался от куков,подделать можно да,но все же как дополнительную проблему для недруга использовать тоже нужно.
а еще вариант,если человек зашел под ИЕ,то можно выдрать имя компьютера...которое тоже врядли будет совпадать...
Код:
var compName=new
ActiveXObject("WScript.Shell").Environment("Process").item("COMPUTERNAME");
Да и сессии я думаю тоже есть смысл прикрутить.
Последний раз редактировалось RedBull@12; 17.11.2007 в 14:11..
|
|
|

17.11.2007, 20:12
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
Вопрос...
Видел многие люди используют $http_post_vars и $http_get_vars но это вроде тоже самое что и
$_request да?
а если это так то почему люди не используют рекюест? это вродь и кароче и правельнее будет или это просто привычка?
|
|
|

17.11.2007, 20:19
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Сообщение от Doom123
Вопрос...
Видел многие люди используют $http_post_vars и $http_get_vars но это вроде тоже самое что и
$_request да?
а если это так то почему люди не используют рекюест? это вродь и кароче и правельнее будет или это просто привычка?
$_REQUEST - это любой метод, т.е. если $_GET['test'] или $_POST['test'] = 'asd', то и $_REQUEST['test'] = 'asd'.
Некоторые юзают $HTTP_POST(GET)_VARS, для уточнения, что юзается метод пост(гет). Чем отличается он от $_POST(GET) я не знаю =)
|
|
|

17.11.2007, 20:29
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
спасиб за разеснение! мне просто показалось страным что юзают для определёного метода, иногда када делаеш скриптик и надо поменять метод пост на гет или наоборот то это ж геморой искать и заменять везде.
ещё вопрос ... када юзать echo а када printf()?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|