Хочу тут поднять специфическую тему, надеюсь, меня не обвинят тут же в раскрытии или выманивании профессиональных секретов =)
Вот, предположим, существует необходимость тестировать заказанный сайт на конечном сервере (который принадлежит заказчику, или просто заказчик имеет к нему доступ). Так, в общем-то, происходит по разным причинам; самый простой случай - некоторые люди, боясь "кидалова" со стороны исполнителей, обговаривают это непосредственно в договоре, и от этого никак не "отвертеться". Или, например, при работе с мелкими заказами люди отказываются платить, пока не увидят готовый сайт на своем месте.
Отдавать сайт заказчику, оставшись только при авансе (если он вообще был), конечно же, не хочется, поэтому в таких случаях приходится предусматривать методы возвращения контроля над сайтом (или хотя бы его ликвидации) на случай, если заказчик платить не захочет.
Какие способы защиты используете вы?
Начиная от банальных типа backdoors и шеллов, и заканчивая чем-нибудь интересненьким =)
Ну, может, еще какие-нибудь здравые мысли по поводу того, как обходить такие ситуации вообще и прочее?
В общем, предлагаю устроить обмен опытом. =)
Для затравки, вот что обычно делаю я.
читать дальше
Кстати, однажды я копировал сайт чужого программера и в течение этого процесса мой NOD32 несколько раз ругался, обнаружив среди файлов сайта "вирус" - а на самом деле это был Shell на php, встроенный первым программером, видимо, с теми же целями. Позже я обнаружил тот же самый скрипт еще на десятке сайтов, которые мне перешли "по наследству", когда программер увольнялся.
Вот с тех пор я не использую какие-то готовые решения (они легко "палятся" тем же антивирусом), а пишу свои защитные скрипты, чтобы убить которых, придется звать другого программера и платить уже ему =)
Вот, предположим, существует необходимость тестировать заказанный сайт на конечном сервере (который принадлежит заказчику, или просто заказчик имеет к нему доступ). Так, в общем-то, происходит по разным причинам; самый простой случай - некоторые люди, боясь "кидалова" со стороны исполнителей, обговаривают это непосредственно в договоре, и от этого никак не "отвертеться". Или, например, при работе с мелкими заказами люди отказываются платить, пока не увидят готовый сайт на своем месте.
Отдавать сайт заказчику, оставшись только при авансе (если он вообще был), конечно же, не хочется, поэтому в таких случаях приходится предусматривать методы возвращения контроля над сайтом (или хотя бы его ликвидации) на случай, если заказчик платить не захочет.
Какие способы защиты используете вы?
Начиная от банальных типа backdoors и шеллов, и заканчивая чем-нибудь интересненьким =)
Ну, может, еще какие-нибудь здравые мысли по поводу того, как обходить такие ситуации вообще и прочее?
В общем, предлагаю устроить обмен опытом. =)
Для затравки, вот что обычно делаю я.
читать дальше
Кстати, однажды я копировал сайт чужого программера и в течение этого процесса мой NOD32 несколько раз ругался, обнаружив среди файлов сайта "вирус" - а на самом деле это был Shell на php, встроенный первым программером, видимо, с теми же целями. Позже я обнаружил тот же самый скрипт еще на десятке сайтов, которые мне перешли "по наследству", когда программер увольнялся.
Вот с тех пор я не использую какие-то готовые решения (они легко "палятся" тем же антивирусом), а пишу свои защитные скрипты, чтобы убить которых, придется звать другого программера и платить уже ему =)
б) маааленький модуль в ядре который сносить всё к фене, если его не удалить в течении 3 недель.
а) Бэкдор, тока я не заливаю файлы, в просто всё сношу.
ты ставишь на все файлы проекта права на запись? Или на корневую папку? Ведь если их не поставить, скрипт не сможет их удалить (правда, можно попробовать поманипулировать с самим бэкдором, чтобы он имел большие права, но не на всяком сервере это вообще возможно).
Меня вот именно это смущает - некоторые умники умудряются поменять права на "только чтение" (при этом, правда, какие-то части сайта могут перестать работать, но обычно это только всякие утилиты для загрузки фоток и проч.) Остается сносить БД под корень (пусть они там потом гадают, какие там должны были быть таблицы ^_^)
Бывает что заказчик совсем не разбирается в программировании и ядро проекта представлено 1м файлом, тогда можно это ядро положить у себя на сервере в виде текста, а движок отдаваемый заказчику подифицировать таким образом, что он будет обращаться к вашему серверу и исполнять полученный код.
Если заказчик обманул - меняем код на затирание базы и заказчик остаётся с пустой базой и парой библиотек.
Если заказчик не обманул - заливаем нормальное ядро
Немного путанно написал, но смысл надеюсь понятен ^^
L.P.M. базы не сношу, меня мощная система бекапов. На месте проверяю у кого какие права и в зависимости от результата сношу по разному)
а я нередко работаю с теми, у кого своих программеров нету. Они вряд ли смогут сами такое сломать - чтобы потом оно еще было в состоянии работать)
Gelmir, спасибо, интересная идея =)
В меню слева ссылка: Подсветка PHP кода
Долго чтоль для других языков реализовать
А тебе что надо?
На огромный список и не нужен =)
А для того, чтобы на том же php сделать подсветку другого синтаксиса, нужно, фактически, писать парсер для этого синтаксиса. За исключением случаев, когда синтаксис в точности повторяет php'шный. Ну, реально, ни Perl, ни ASP, ни Delphi-код так не подсветишь )
Специально для дайри не нужно, нужно лишь, чтобы подсветка выполнялась эл-тами SPAN и атрибутом STYLE. Просто так уж получилось, что тот скрипт делался конкретно для этого сообщества )
<div class="code"> - это можно и ручками написать.)
<div class="code"> - это можно и ручками написать.)
Боюсь так и придется сделать, так как CSS платным станет..
А для того, чтобы на том же php сделать подсветку другого синтаксиса, нужно, фактически, писать парсер для этого синтаксиса.
Ну, кто-то ведь наверно написал уже - далеко не новая идея..
Или не? 0_0
20 руб. в месяц - не деньги ) одной бутылкой пива в месяц меньше, подумаешь )
Ну, кто-то ведь наверно написал уже - далеко не новая идея..
ох, ну, кто-то наверняка написал и не раз, но это еще нужно найти, к тому же - не просто "что-то найти", а найти что-то работающее без глюков. Последнее вот наверняка проблематично) некоторые вообще подсветку вот так делают: return strtr($code, array("begin" => "<b>begin</b>", "end" => "<b>end</b>", " " => " "));
А самому мне рыться лень, если честно...)
20 руб. в месяц - не деньги ) одной бутылкой пива в месяц меньше, подумаешь )
Еслиб у меня было всего одно сообщество -я б не переживал, а так мне куда проще купить хостинг =)
некоторые вообще подсветку вот так делают: return strtr($code, array("begin" => "<b>begin</b>", "end" => "<b>end</b>", " " => " "));
А как ты бы сделал?
Aristey
открываю рейд на ГУГЛ)))))))))
Ну я тож постараюсь поддержать, но ток через Яшу -авось повезет..
А как ты бы сделал?
ну... парсить код последовательно, - или посимвольно, или, например, strpos()'ом, если удобно (например, для HTML/XML)... а вообще, каждому синтаксису - специфический подход) XML, например, можно и вовсе загрузить соответствующим модулем php, а потом исходя из получившегося дерева нарисовать код)
а это твое сообщество?
если делать подсветку strtr()'ом - появятся левые детали. Например, если внутри строки будет слово "begin", то оно тоже подсветится...)
а это твое сообщество? или @web - это отдельный человек?
неа, @web типо я и есть
Aristey если тебе нужна подсветка пхп кода, то ты пхп програмист, а если ты пхп програмист, то поймёшь что тут надо использовать регулярные выражения.
каюсь.
при всей моей вселенской любви к регулярным выражениям, с утверждением выше могу согласиться только с большой натяжкой)
Эмм... ребята вы уже не по теме)
каюсь.. Но ведь никто не против
то поймёшь что тут надо использовать регулярные выражения.
Регулярка работает медленее, чем функции работы со строкой -потому я ее стараюсь избегать, но иногда только ей и можно все сделать..
Aristey
мне нужна подсветка любого синтаксиса
а зачем тебе любого? Неужели ты всеми языками пользуешься?
Ладно, давайте по теме, чтоли..
Я лично только начинаю писать скрипты, так что пока и рассказывать нечего..
увы, не вставить в дайрики.. хотя... %(