Знакомый на днях в метрике поймал такое зеркало. Набросал на js редирект на свой домен. js "зашифрован", что бы уж явно в коде не светить свой домен. Пока работает, будем наблюдать.
Вообще моей идей было проверять реферер и домен. Если реферер не пустой, редиректить на свой домен. Т.е. по прямому заходу на зеркало и серфингу по нему редиректа не будет.
Что думаете по этому поводу? Вроде как все боты js уже исполняют.
danforth, как то у вас двусмысленно вышло - конструируй авто, но как работают отдельные агрегаты не читай, достаточно знать их названия. Ну подумаешь, заново придумаешь конструкцию ДВС, а может и дизель случайно получится.:)
Не поленился, сделал выборку вакансий на hh по Москве:
Всего, з/п.100-110т.р., з/п.130-140т.р.
Yii
Symfony
Laravel
Zend
А лучше знать и (Symfony || Laravel) && Yii. У них разные парадигмы.
Зачем советуете Zend?:) Огромный неповоротливый монстр который тащит все, на все случаи жизни. Да и код с ним слишком многословен.
Рамарио, тут зависит от ваших целей. У Yii на самом деле порог вхождения ниже. Но это не делает его хуже. Если цель написать свой велосипед, то это тоже опыт. Цель начать быстро делать сайты - фреймворк.
Просто написав свое, а потом начав изучать фреймворки вы поймете, что применяли те же паттерны проектирования и использовали такие же решения. А до некоторых возможно и не додумались. Но никто не отменяет того, что вы напишите что-то более гениальное. Фреймворки ведь как-то появляются:)
Рекомендую еще почитать про паттерны проектирования. Все равно будете их изобретать заново, а зная, уже начнете ими оперировать.
Sitealert, Раз понимаете, зачем приводите код который заведомо перезагрузит все ресурсы на странице + содержит трудно диагностируемую ошибку?
Я верю в многолетний опыт, там где можно копнуть пару раз лопатой, не стоит гнать бульдозер.
Про универсальность я и не писал, читайте внимательнее - самый простой вариант.
Давайте на чистоту, ваша портянка технически неверна - моя не кроссбраузерна. Но обе под ТЗ подходят (находят слово). А что выбрать, дело за ТС.
Sitealert: И ни к чему было мой код в цитату выводить. Экономить надо форумное место, цитировать только существенное.
Это тоже из жизненного опыта, спорщики любят затирать свои сообщения. Не поймите привратно, просто страховка. Я конечно ваше замечание учту и еще раз перечитаю правила форума/раздела.
Sitealert: Вообще-то, я согласен с мнением товарищей, высказавшихся выше в пользу обработки страницы PHP-скриптом. Это и абсолютно кроссбраузерно, и даёт гораздо больше гибкости в обработке. Но так, для интереса - вот код на чистом JS, без Jquery (а то народ, походу, чистый JS вообще начал забывать :)). Работает даже в старом ИЭ и обеспечивает регистронезависимый поиск со скроллом на искомую строку (функцию позиционирования взял из инета).
Ссылка на страницу вида
var search = decodeURI(window.location.search.substring(3));
var doc = document.body.innerHTML;
var pat = new RegExp(search+'(?=[^<>]*<)', 'ig');
var repl1 = doc.match(pat);
doc = doc.replace(pat, '<span class="found" style="background-color: #ccc">$&</span>');
document.body.innerHTML = doc.replace('class="found"', 'id="found1" class="found"');
var found1 = document.getElementById('found1');
if(found1){
var x = getOffsetRect(found1).left;
var y = getOffsetRect(found1).top;
window.scroll(x,y);
}
function getOffsetRect(elem) {
var box = elem.getBoundingClientRect()
var body = document.body
var docElem = document.documentElement
var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop
var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft
var clientTop = docElem.clientTop || body.clientTop || 0
var clientLeft = docElem.clientLeft || body.clientLeft || 0
var top = box.top + scrollTop - clientTop
var left = box.left + scrollLeft - clientLeft
return { top: Math.round(top), left: Math.round(left) }
}
Вы хоть понимаете что:
переписываете целиком innerHTML всего документа?
регулярка не универсальна и может сделать html код невалидным
у ТС явно голый HTML, предлагаете php ставить? А почему не nodjs, python, java и т.д.? Давайте еще CMS навесим, да сервер помощнее... Ради поиска строки то.
Не стоит журить за jquery, я его вообще в разработке не использую. Подключил только ради того, чтобы такой портянки не было.
Stek: А где то сказано, что там один ssh на униксах. Вот понадобится где нибудь у наймчипа и рег.ру сменить NS, куда там сертификат вводить будете ? :)
Админу надо или доверять или искать нового.
Процитирую ТС:)
Было у него много серверов и логинов\паролей к ним.
Тегами, я имел ввиду <b>разбит</b> текст. Остальное прекрасно ищется.
С документом ТС эта реализация прекрасно работает. Берет текст из хеша, рекурсивно пробегается по тегам, если находит текст - скролит до тега содержащий этот текст.
Знакомый на днях в метрике поймал такое зеркало. Набросал на js редирект на свой домен. js "зашифрован", что бы уж явно в коде не светить свой домен. Пока работает, будем наблюдать.
Вообще моей идей было проверять реферер и домен. Если реферер не пустой, редиректить на свой домен. Т.е. по прямому заходу на зеркало и серфингу по нему редиректа не будет.
Что думаете по этому поводу? Вроде как все боты js уже исполняют.
Самое просто и быстрое решение, модуль нгинкса ngx_http_secure_link_module
В двух словах формируется md5 хэш из: secret_key + remote_addr + uri. Пример ссылки: /video/bunny.m3u8?md5=_e4Nc3iduzkWRm01TBBNYw&expires=2147483647
Так же можно ограничить время жизни.
Тут пример формирования ссылки на PHP
Дальше, как я вам уже писал в соседнем топике, только проксировать через свой сервер. По другому ссылки не скрыть.
Скрыть конечно можно, 302 редиректом на ссылку с облака. Но это так, не защита. Хотя замечал ресурсы использующие этот финт с ушами.
danforth, как то у вас двусмысленно вышло - конструируй авто, но как работают отдельные агрегаты не читай, достаточно знать их названия. Ну подумаешь, заново придумаешь конструкцию ДВС, а может и дизель случайно получится.:)
Не поленился, сделал выборку вакансий на hh по Москве:
Всего, з/п.100-110т.р., з/п.130-140т.р.
А лучше знать и (Symfony || Laravel) && Yii. У них разные парадигмы.
Зачем советуете Zend?:) Огромный неповоротливый монстр который тащит все, на все случаи жизни. Да и код с ним слишком многословен.
Рамарио, тут зависит от ваших целей. У Yii на самом деле порог вхождения ниже. Но это не делает его хуже. Если цель написать свой велосипед, то это тоже опыт. Цель начать быстро делать сайты - фреймворк.
Просто написав свое, а потом начав изучать фреймворки вы поймете, что применяли те же паттерны проектирования и использовали такие же решения. А до некоторых возможно и не додумались. Но никто не отменяет того, что вы напишите что-то более гениальное. Фреймворки ведь как-то появляются:)
Рекомендую еще почитать про паттерны проектирования. Все равно будете их изобретать заново, а зная, уже начнете ими оперировать.
Sitealert, Раз понимаете, зачем приводите код который заведомо перезагрузит все ресурсы на странице + содержит трудно диагностируемую ошибку?
Я верю в многолетний опыт, там где можно копнуть пару раз лопатой, не стоит гнать бульдозер.
Про универсальность я и не писал, читайте внимательнее - самый простой вариант.
Давайте на чистоту, ваша портянка технически неверна - моя не кроссбраузерна. Но обе под ТЗ подходят (находят слово). А что выбрать, дело за ТС.
И ни к чему было мой код в цитату выводить. Экономить надо форумное место, цитировать только существенное.
Это тоже из жизненного опыта, спорщики любят затирать свои сообщения. Не поймите привратно, просто страховка. Я конечно ваше замечание учту и еще раз перечитаю правила форума/раздела.
Вообще-то, я согласен с мнением товарищей, высказавшихся выше в пользу обработки страницы PHP-скриптом. Это и абсолютно кроссбраузерно, и даёт гораздо больше гибкости в обработке. Но так, для интереса - вот код на чистом JS, без Jquery (а то народ, походу, чистый JS вообще начал забывать :)). Работает даже в старом ИЭ и обеспечивает регистронезависимый поиск со скроллом на искомую строку (функцию позиционирования взял из инета).
Ссылка на страницу видаВ конце страницы ссылка на скрипт
Вы хоть понимаете что:
Не стоит журить за jquery, я его вообще в разработке не использую. Подключил только ради того, чтобы такой портянки не было.
Sitealert, Ну ТС пока молчит. А привести в кросс-браузерный вид не проблема. Я привык писать на ES6 - ES7. Набросал ради любопытства.
Полагаю претензии тут не уместны. Если вам очень нужно - доработайте под себя, вы вроде разработчик.
---------- Добавлено 03.02.2017 в 20:08 ----------
Firefox 51.0.1, работает. В нем и хроме я проверял сразу.
А по факту работоспособность проверяли?
Да, конечно. Только нет гарантий что будет работать во всех браузерах.
А где то сказано, что там один ssh на униксах. Вот понадобится где нибудь у наймчипа и рег.ру сменить NS, куда там сертификат вводить будете ? :)
Админу надо или доверять или искать нового.
Процитирую ТС:)
Ну да не суть, вы конечно же правы.
Так у ТС текст разбит тегами (у него там вообще таблица), или вы что-то другое имели в виду?
Вы ТЗ читали?
А пример смотрели? https://jsfiddle.net/asa6hzqy/
Тегами, я имел ввиду <b>разбит</b> текст. Остальное прекрасно ищется.
С документом ТС эта реализация прекрасно работает. Берет текст из хеша, рекурсивно пробегается по тегам, если находит текст - скролит до тега содержащий этот текст.