Счетчик закачки файлов

Статус
В этой теме нельзя размещать новые ответы.

BlackvsEvgen

Постоялец
Регистрация
13 Янв 2009
Сообщения
103
Реакции
3
Здраствуйте, помогите пожалуйста, нашел скрипт counter.php счетчик такой :

PHP:
<?php
// Счетчик по первому файлу: 
 
if ($book==1) {
header("location: http://сайт.ру/APAK2.rar"); 
$file=fopen("book1.txt","a+");
flock($file,LOCK_EX); 
$count=fread($file,100);
$count++; 
ftruncate($file,0); 
fwrite($file,$count); 
flock($file,LOCK_UN); 
fclose($file); 
} ?>

Создал папку кинул туда этот скрипт и файлик book1.txt чтоб туда сохранялись значения, ссылку для скачивания указал вот такую:

Для просмотра ссылки Войди или Зарегистрируйся

При нажатие на ссылку закачка не происходит, а просто выдаетса белый экран. Кто знает что я сделал не так или может скрипт не правильно написан?
 
У тебя условие не срабатывает, первую строку замени на:
PHP:
if ($_GET['book']==1) {
 
Все заработало... спасибо, есть веть умные люди ))
 
Kirillik подскажите пожалуйста, сделал этот счетчик, но проблема в том что он считает все переходы по ссылке скачать, даже когда бот переходит, то тоже считает. Как можно сделать чтоб считала именно закачки или на худой конец клики по ссылке Скачать именно людей, а не ботов? Заранее спасибо.

Ссылка закачки:
<a href="http://localhost/go/count/count.php?book=1">Скачать</a>

PHP:
<?php
if ($_GET['book']==1) {
header("location: http://localhost/bd/wp-content/uploads/door.zip");
$file=fopen("book1.txt","a+"); 
flock($file,LOCK_EX); //Блокировка
$count=fread($file,100); //Чтение
$count++; // Увеличение значение на 1
ftruncate($file,0); // Очищаем файл
fwrite($file,$count); //Записываем новое значение
flock($file,LOCK_UN); //Разблокируем
fclose($file); //Закрываем
} ?>
 
Можно отсеивать по юзер-агенту($_SERVER['HTTP_USER_AGENT']). Создать массив недопустимых User-agents(если боты именно по нему палятся) и сверять.

А вот проверка на "осуществление закачки" мне кажется сомнительно реализуемой - пользователь ведь тоже может нажать на ссылку, а затем в диалоговом окне отменить начало скачивания.
 
если ссылка на файл дается из каталога, то можно проверять например HTTP_REFERER, перешел ли пользователь со страницы каталога (страницы, на которой размещена ссылка на файл) или запросил ссылку напрямую...
 
Я просто в php не очень разбираюсь.
everest мне кажетса это не подойдет.
А можно сделать чтоб скрипт засчитывал клик сделанный из определенного браузера ? Что поидеи сразу исключит переходы ботов по ссылке. Я просто когда программой Xenu Link Sleuth (она анализирует сайт, кол-во страниц, ссылок, битые ссылки и.т.п.) проверял сайт то заметил что счетчики на всех закачках увеличиваетса на одну.

Посоветуйте в каком направлении двигатса?

Alix врорде ваше предложение подходит по ($_SERVER['HTTP_USER_AGENT']) или нет ?
 
Как я понимаю есть еще вариант все файлы отдавать не напрямую ссылкой на скачку, а через php файл, который будет считывать часть данных из файла потом отдавать клиенту + анализировать как уже писали выше $_SERVER['HTTP_USER_AGENT'] и HTTP_REFERER хотя и то другое можно подделать. Можешь поставить что бы скачка не начиналась пока не введут каптчу что еще более усложнит жизнь ботам.
 
BlackvsEvgen, сделай пока в базовой реализации, по User-agent. Там ты можешь и для браузеров определить поведение, создав, как я уже говорил, массив допустимых значений (которые можно без проблем найти в инете).
Можно дополнительно и referer проверять, но в таком случае если пользователи воспользуются прямой ссылкой на скачивание(например, скопируют и вставят, а не кликнут), скачать они не смогут.
Естественно, все это не будет 100% защитой, т.к. боты с легкостью могут представляться пользователями. Так что определенная погрешность в счетчике будет, просто сведешь её к минимуму.
 
Я просто в php не очень разбираюсь.
everest мне кажетса это не подойдет.
А можно сделать чтоб скрипт засчитывал клик сделанный из определенного браузера ? Что поидеи сразу исключит переходы ботов по ссылке.

у меня есть каталог скриптов. закачка происходит через определенные страницы. прямая закачка по прямой ссылке меня не интересует я явлется даже вредной - не показывается сам сайт и реклама на нем.
по этой причине проверяя реферрера я могу отсеить такие закачну (точнее, это делается скриптом выдачи файла Для просмотра ссылки Войди или Зарегистрируйся)

что касается ботов, то их естественно можно отсеить проверяя браузер (только нужно учитывать и разные версии браузеров)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху