New! Telegram канал про микроконтроллеры, SDR приемники, радиолюбительство и электронику в целом:

t.me/HighFrequency

На правах рекламы:

WEB

Защита JavaScript и CSS от копирования. Оглядываясь назад  

Добрый вечер.

Хочу поделиться с вами историей о попытке создания системы защиты скриптов (JS и CSS) от копирования. Началось все с того, что однажды я решил написать универсальную систему, которая бы позволила разработчикам web-приложений не беспокоиться за ноу-хау, воплощенные в JavaScript или CSS-коде. Систему я написал, просидев пару недель в новогодние праздники перед компьютером, но получилось она как назло, ни сколько не универсальной (после ее размещения начали приходить сообщения, что система не работает под первым апачем) и глючной (если злоумышленник использовал Оперу или сидел за кэширующей проксей – он мог достать защищенный скрипт).


Защита кода внешних скриптов JavaScript и стилей CSS от копирования   1231262854

Ради спортивного интереса озадачился проблемой защиты от воровства JavaScript и CSS. Не редко люди (веб-мастера), увидев какую-либо фишку на том или ином сайте, лезут в сорсы посмотреть, как это сделано. В большинстве случаев код JavaScript и CSS хранится во внешних файлов, которые подгружаются браузером по ссылкам, и легко по ним доступны (достаточно залезть в исходник HTML, и сделать копи-паст, скажем, ссылки на CSS в адресную строку, подставив имя домена, если путь относительный). После недолгих раздумий, в голову пришла простейшая защита от этого воровства:



Как заставить форму с методом POST передать вводимый параметр методом GET   1230935096

При проектировании пресловутого поиска по сайту (см. предыдущий пост) возникла необходимость передавать ключевые слова через адресную строку, что и человеку нагляднее и поисковику понятнее: вдруг ему вздумается засабмитить форму поиска  каким-нибудь релевантным ключевым словом, а тут раз, и что-нибудь найдется, и вся страница поиска с ключевым словом в URL страницы окажется в выдаче (для поисковыков наличие ключевого слова в URL — очень весомый фактор). Если бы я не использовал ЧПУ (Человеко-Понятные Урл, например вместо "index.php?do=search&keyword=никон"  — "/search/никон"), проблем бы это не вызвало, достаточно было в форме указать метод GET, хотя справедливости ради, стоит отметить, что в таком случае ключевое слово, скажем, "запись" преобразовалось бы в вид "%e7%e0%ef%e8%f1%fc", что ни для поисковика, тем более для человека не понятна.


Регулярные выражения. Выборка целых предложений, включающих ключевые слова.   1230861534

Задача: написать паттерн для функции preg_match_all, предназначенной для выборки контекста для ключевых слов при полнотекстовом поиске.

$pattern = "/(?![^.]s+)(?![^.]s+[("`'])(["`']?[А-Я][^.!?]*W+(".
            $keyword_s.
            ").?[^.!?]+([.!?][^.!?]*){1,3}?)(?=.[sZ])/i";


Логика: предложение начинается с заглавной буквы, но при этом, ей не может предшествовать последовательность из НЕ-точки и пробела (например, Имена внутри предложения), так же как и последовательность из НЕ-точки, пробела и кавычки (разных видов) (например, "Названия" внутри предложения), концом предложения является либо точка, либо восклицательный, либо вопросительный знаки. Чтобы избежать захвата части сокращения, типа "т.д.", "т.п.", после завершающей точки должен слдоваться либо пробел, либо конец данных. Паттерн, будучи использован в preg_match_all вылавливает все предложения (или пару-тройку предложений), где фигурирует кейворд...



Проблемы с SELECT и Z-INDEX в Microsoft Internet Explorer 6.0   1213890022

Недавно я столкнулся с проблемой, которая ввела меня просто в ступор. Предположим, что мы проектируем пользовательский интерфейс с использованием технологий AJAX (лично я пользуюсь библиотеками JSHttpRequest), содержащий выпадающие меню SELECT. После определенного действия пользователя или в процессе обработки его запроса нам необходимо декоративно скрыть часть (или весь) интерфейса полупрозрачным слоем, и вывести поверх него, скажем, один из популярных индикаторов прогресса. Все бы ничего, но когда мы попытаемся наложить DIV с Z-INDEX заведомо выше чем у остального интерфейса, с удивлением обнаружим, что SELECT через слой просто напросто "просвечивает", т.е. всегда лежит поверх слоя.



1 . 2

 

Про радио 6

 

Про микроконтроллеры 1

 

Про фото 27

 

Блог 35

 

Про кино 8

 

Про WEB 6

 

 

 

Поток сознания тут — twitter.com/shtorkin

И тут — facebook.com/shtorkin

Сюда можно писать в ЛС — vk.com/shtorkin

Youtube — youtube.com/user/SemenShtorkin

Картинки — instagram.com/shtorkin


  © 2007 – 2018 Семен Шторкин (Семен Орлов)
Для связи:

Все права на представленные на сайте материалы принадлежат Семену Орлову, если не указано иного. При копировании материалов активная индексируемая ссылка на сайт «shtork.in» обязательна.