my $text = "приведенный фрагмент HTML";
my $needed_text = ($text =~ /<span id="ct100_ContentPlaceHolderCenter_Context1">(.*?)<\/span>/gis)[0];
Данный скрипт не учитывает того, что нужного span в HTML может не быть. Обработку ошибок делайте сами сообразуясь с задачей. Также, если в вашем искомом тексте будет встречен </span>, то регекс требует модификации. В общем идея понятна, а уж конкретно под задачу доточить всегда можно самому.
Сообщение, появляющееся при попытке изменить репутацию: "Вы должны добавить отзыв кому-то еще, прежде чем сможете снова добавить ее user_nickname" - хорошо бы исправить род на "его" (отзыв).
Исчезли спонсоры разделов верхнего уровня (не знаю как правильно это назвать).
Правильно, да не все.
Если взлом проводился как тут уже писали через SQL-injection (я имею в виду что попытка взлома была, но вот как конкретно удалось взломать - вопрос. может быть прошли другим способом), то восстановив все "как было" они просто повторят атаку с тем же исходом, даже если вы поменяли все пароли к админке. Нужно устранять саму причину.
Собственно от SQL инъекций защищаться придется так:
1. Самый правильный метод - лезть в код и модифицировать его так, чтобы чистить входные параметры от всяких символов, в первую очередь от ' (полный список чего фильтровать смотрите в инете по теме SQL-injection). Затем писать в саппорт производителя и показывать свой вариант защиты, описывать проблему, ждать пока выпустят заплатку и ставить ее вместо своего самопального решения. Или жить на своем.
2. Также правильно не хранить в базе пароли к админке в открытом виде. Нужно посмотреть что в базе лежит в таблице с юзерами и если там пароли открыты - переписывать блок логина. Далее все как в п.1 - писать в саппорт и ждать апдейта. От дефейса это может и не спасти, поскольку если injection позволяет поменять текст на сайте без авторизации в админке - гадость все равно сделают.
3. Если самому разобраться в этом нельзя - нет опыта, или еще что-то - необходимо как минимум забанить IP адреса с которых шла атака. Реальных хакеров не остановит, но детей можно немного поставить в тупик. Можно банить целую страну, типа Турции, если посетители оттуда не нужны, но я честно говоря не знаю как это сделать чисто админскими средствами (без скрипта и базы по IP).
4. На период проблем можно сделать hardcopy сайта телепортом и пусть они HTML страницы ломают.
5. Вероятно сайт был найден по какой-нибудь строке типа "работает на такой то CMS" в Гугле, маловероятно что им именно этот сайт понадобился. Значит на будущее нужно закрыть максимально возможность распознавания CMS, в частности перевести (например через htaccess) админку на другой URL, вычистить ключевые строки из комментов в шаблонах или что-то еще.
Ну вот я так примерно себе это представляю. Если производитель CMS чесаться по поводу подобных проблем не будет - нужно искать другое решение и переводить сайт на него (жутко дорого и затратно, но иногда другого выхода нет).
Обижаете, все включено ясен пень.
Ayavryk, а у меня чего-то по ссылке твоей без графики вообще ничего не появляется.
По теме - я не думаю, что это приведет к бану, если только к автоматическому. Модератору который забанивает-разбанивает должно быть понятно, что попытка сделать сайт одинаковым для разных браузеров - это дело вебмастера и криминала тут нет. К тому же что пауку что браузеру будет отдаваться один и тот же контент. А сайтов где блок текста выводится яваскриптом, а еще несколько блоков (ну типа баннера текстового в ротации) в это время в хидден слоях - выше крыши.
Вам десять раз сказано - все работают с фрилансом, и я в том числе. А идиот не тот кто работает с фрилансом, а тот кто делает это бездумно, не договариваясь на нормальных обоюдоприемлемых условиях, а потом обижающийся что его кинули.
Я вижу по вашим постам, что вам нравится выдергивать слова "все" и "идиоты" из контекста, ставить их рядом и приписывать собеседнику не понимая сути сказанного целиком. Это дело, конечно, ваше, но вряд ли стоит ввязываться в обсуждение с целью самоутверждения за чужой счет в будущем, ок? Сэкономите кучу времени себе и собеседникам.
Это проблема дизайнера не влезать в такую дурь. Есть масса способов. Очевидный - выбрать себе фирму, которая будет заказывать у него дизайн под оплату, а не соваться к заказчику в надежде что тебе оплатят работу. Или заключить договор, по которому в случае непринятия работы будет произведена такая-то оплата. Что непонятного то? Только полный идиот пойдет рисовать дизайн без финансовых гарантий. Только полный идиот будет заказывать дизайн с предоплатой у фрилансера, который завтра исчезнет. Поэтому вы описываете невозможную с моей точки зрения для нормальных мыслящих людей ситуацию. Я понимаю что такие ситуации бывают сплошь и рядом, но именно это и является темой обсуждения - как быть не должно и что для этого нужно делать.
PS: "Подрядчик" для меня синоним "исполнителя".
PPS: Подтверждением моих мыслей является то, что опытные и успешные финансово фрилансеры, как правило, предпочитают работать с определенной компанией, а не с заказчиками напрямую. Потому что риски работы с новой компанией для них будут только на начальном этапе работы. Пока притрутся. А потом все намного надежнее. А риски работы с разными заказчиками берет на себя юридически оформленная фирма, имеющая больше гарантий выбить деньги с заказчика если работа была сделана.
Вы как-то избирательно читаете что я пишу. Да, предоплата в 50%, в чем проблема? Предоплата то не так просто взята. Она взята под работу. И если работа не выполнена - ты идешь в суд и банкротишь фирму. Оно нужно подрядчику? Перерегистрировать новое ООО, судиться с тобой? Я естественно про веб говорю, где суммы исчисляются тысячами долларов, а не миллионами. Я именно про то и написал, что есть определенная мера ответственности, которую будет нести ООО получившее от меня предоплату в 50% и не сделавшее ничего. В конце концов братков еще никто не отменял, приедут и объяснят что так делать нехорошо.
А насчет того, что кто-то там акты не подписал - так налоговая до вашего директора просто еще не дошла значит. Потому как это нарушение достаточно серьезное. Опять же - незакрытые акты по нормально сделанной работе это одно, а незакрытый акт по кидку - типа принял бабки и свалил - другое.
Я ответил уже на этот вопрос, есть только одна мысль в дополнение. Вот вы предположим фрилансер. И есть, предположим, заказчик. Вы не доверяете заказчику (вы его не знаете), он не доверяет вам (он вас не знает). Работать как-то нужно. Что делать? А делать нужно вот чего - просчитывать как я уже сказал риски и придумывать схему обмена товар-деньги так, чтобы кидка не состоялось. Типичный пример - дизайнер рисует дизайн, но результат на обсуждение отдает в виде паршивых джпегов, которые в работе использовать нельзя. Когда работа сделана - оплата будет отдана дизайнеру потому что нужен результат. А дизайнер отдаст результат потому что он ему самому не нужен. Я не беру крайние случаи когда ты деньги отдал а у дизайнера винт полетел в последний момент, вероятность такого исхода тоже есть, но она очень мала. Или еще часто разбивается работа на этапы, когда на середине стоять невыгодно никому - ни подрядчику, ни заказчику. Вариантов масса, технических средств еще больше.
Вернемся к исходной ситуации. Позиция "я без предоплаты не работаю" - это неконструктив в ситуации обоюдного недоверия. В итоге больше потеряет подрядчик, поскольку он так или иначе потратил средства на привлечение клиента. Вот и вся арифметика. Это естественно не повод работать "на веру" - я против этого. Это повод шевелиться для подрядчика, т.к. он должен быть "проактивен" больше, чем заказчик. У того другая задача - не убеждать в своей платежеспособности всех подряд, а бизнес делать. Когда к нормальному заказчику в офис приезжаешь, а там в фойе тетка вживую на пианине играет 10 часов в день как то о платежеспособности заказчика задумываться перестаешь.