Счетчика скачиваний - проверти на безопасность

12 3
B
На сайте с 04.12.2008
Offline
69
1624

Доброго и теплого лета всем!

Есть небольшой скриптик/код который подсчитывает к-во раз скачивания файла

и записывает его в txt.

У меня маленькое подозрение что скрипт могут использовать для взлома сайта,

вставки инклудов в странички.

Опыта в php мало(скрипт взят готовый) поэтому:

прошу мастеров посмотреть и высказать свое мнение о безопасности данного скрипта.

код счетчика - файл counter.php

<?php

$number = $_GET['number'];
// счетчик по 2 Номеру:
if ($number==price) {
header("location: ../file/price.xls");
$file=fopen("price.txt","a+");
flock($file,LOCK_EX);
$count=fread($file,100);
$count++;
ftruncate($file,0);
fwrite($file,$count);
flock($file,LOCK_UN);
fclose($file);
}

?>

код вывода прайса - файл index.php

Количество скачиваний прайса: <? include("price.txt");?>

ссылки применяемые для подсчета

http://сайт.ru/counter/counter.php?number=price

PS если код не оч хороший подскажите как можно по другому считать к-во скачек файла?

(возможно это можно делать гуглом / лайвинтеренет / метрикой)

Спасибо!

N
На сайте с 06.05.2007
Offline
419
#1

Слишком маленький скрипт и вообще не взаимодействует с внешним миром, чтобы тут можно было найти нетривиальную дырку.

Запросите у хостера лог подключений и работы с ftp лучше.

Кнопка вызова админа ()
B
На сайте с 04.12.2008
Offline
69
#2
netwind:
Слишком маленький скрипт и вообще не взаимодействует с внешним миром, чтобы тут можно было найти нетривиальную дырку.
Запросите у хостера лог подключений и работы с ftp лучше.

Спасибо.

То есть скрипт достаточно защищен :) ?

Посмотрел логи - вирус вроде стучался в файл index.php - в том в котором идет вывод

содержимого текстового файла.

Интересно: какие права CHMOD лучше поставить:

на

- index.php(брет цифры из текстового файла и выводит )

и

- на сам текстовой файл(запись данных из щечика)

BS
На сайте с 22.06.2009
Offline
73
#3
blacks:
Спасибо.
Интересно: какие права CHMOD лучше поставить:
на
- index.php(брет цифры из текстового файла и выводит )
и
- на сам текстовой файл(запись данных из щечика)

А смотря как работает пхп.

На текстовый файл, в который запись, в идеальном случае 644, но если пхп как модуль апача, то скрипты работают не от оунера файлов, а от апача, так что придётся еще поставить права так, чтобы апач мог в него писать.

А так конечно лучше везде раставить права так, чтобы никто кроме оунера в них писать не мог, но если просто заливают через фтп гадость, то и это не поможет.

N
На сайте с 06.05.2007
Offline
419
#4

Уместнее было бы говорить "скрипт настолько простой, что его вредоносное использование невозможно".

Защищенные скрипты - это скорее написанные с использованием всевозможных техник проверки и очистки входных данных. У вас входные данные нигде не используются. Ну почти.

А логи нужно смотреть от FTP. В index.php сейчас что попало "стучится" в надежде непонятно на что.

B
На сайте с 04.12.2008
Offline
69
#5
bb-support:
но если пхп как модуль апача, то скрипты работают не от оунера файлов, а от апача, так что придётся еще поставить права так, чтобы апач мог в него писать.

- вот про это немного не понял. от чего работают не знаю :) точнее не понял "вопроса"

index.php , counter.php , couter.txt такие и есть как описал. находятся в отельной папке. кроме как внешней ссылкой на скачивание и самим файлом никак не связаны...

netwind:

А логи нужно смотреть от FTP. В index.php сейчас что попало "стучится" в надежде непонятно на что.

- в фтп логах исмотрел - сохоранил логи когда вирус атаковал :).. мдя он там по всем индексам проходился :) ... да и не только по ним...

BS
На сайте с 22.06.2009
Offline
73
#6
blacks:
- вот про это немного не понял. от чего работают не знаю :) точнее не понял "вопроса"
index.php , counter.php , couter.txt такие и есть как описал. находятся в отельной папке. кроме как внешней ссылкой на скачивание и самим файлом никак не связаны...

- в фтп логах исмотрел - сохоранил логи когда вирус атаковал :).. мдя он там по всем индексам проходился :) ... да и не только по ним...

Посмотреть как работает пхп можно в phpinfo()

там Server API строка, там будет или apache handler, или cgi\fastcgi.

Хотя если ломали через фтп, то вся эта расстановка прав смысла особого не имеет, если кто-то получит доступ к фтп, то и права на файлы он поменяет.

B
На сайте с 04.12.2008
Offline
69
#7

Привет.

Сегодня нашел вариант вышеизложенного счетчика - работает без GET запроса

- начитавшись всякого по безопасности пришел к сомнинию как счетчик лучше - с GET или без?

Подскажите пожалуйста.

Спасиб.

Счетчик counter.php

<?php

if ($do==1 ) {
header("location: http://www.marinedictionary.ru/tos_top.png"); //Это файл, который нужно скачать
//после этой функции браузер пользователя перенаправляется на указанную страницу и прекращает работу с этим скриптом, скрипт завершает работу как ни в чем ни бывало
$file=fopen("1.txt","a+"); //Открытие
flock($file,LOCK_EX); //Блокировка
$count=fread($file,100); //Чтение
$count++; // Увеличение значение на 1
ftruncate($file,0); // Очищаем файл
fwrite($file,$count); //Записываем новое значение
flock($file,LOCK_UN); //Разблокируем
fclose($file); //Закрываем
}?>
N
На сайте с 06.05.2007
Offline
419
#8

Конечно, лучше без параметров вообще.

Но нет смысла искать проблемы там где и нет. Заниматься аудитом скрипта при украденом пароле от FTP - это полная ерунда.

B
На сайте с 04.12.2008
Offline
69
#9
netwind:
Конечно, лучше без параметров вообще.
Но нет смысла искать проблемы там где и нет. Заниматься аудитом скрипта при украденом пароле от FTP - это полная ерунда.

нет... ну парольчик то первым делом уже скрыт 🙄

продолжаю дальше узнавать и закрывать дырочки

Значит лучше вариант без GET ?

N
На сайте с 06.05.2007
Offline
419
#10

Имеете ввиду без использования параметров передаваемых в переменной $_GET ?

В общем случае тот скрипт безопаснее, на который хакер имеет меньше способов воздействия. Типа да, лучше без GET.

Только ваш скрипт вообще нерабочий, похоже.

if ($do==1 ) {

окуда переменная $do выставляется?

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий