Цена сейчас 499р, есть скидки - подробнее на http://altseotools.com/howtobuy.htm
На интерфейс есть скин, поэтому есть возможность выпустить релиз с изменённым интерфейсом. Можно подробнее о том, что Вы считаете нормальным и лёгким?
Почему 20? Там 10000 символов для поля описания - это можно настроить. В форме добавления в интерфейсе пользователя одна строка, потомучто код обычно вставляют из буфера - нет смысла его редактировать там.
Редактирование этой таблицы из интерфейса администратора - опциональная функция, скорее для исправления ошибок или уточнения формата. Под работу с таблицей приспособлен интерфейс менеджера, где можно настроить отображение, чтобы всё хорошо влезало именно на Вашей машине. А вообще, при разрешении 1280х1024 всё прекрасно влезает.
Можно выполнять действия последовательно, не отображая таблицу, но это повышает количество кликов для выполнения действий. Кроме того, это требует более абстрактного мышления от менеджера, чтобы интуитивно работать с данными.
Я руководствовался потребностями нескольких очень загруженных линк-менеджеров. После кратковременного привыкания, интерфейс менеджера позволяет выполнять необходимые действия очень быстро "на автомате".
MrX, я в своих утверждениях разделяю понятия обфускации и прекомпиляции, поэтому в сравнениях я имею в виду, что прекомпилированный файл не был предварительно обфусцирован.
Что именно я имею ввиду:
Есть некоторый относительно крупный исходник. Произвели байт-кодирование этого исходника без элементов обфускации. Независимо произвели обфускацию без байт-кодирования. Я утверждаю, что в первом случае вернуть исходнику прежний вид будет проще, потомучто само байт-кодирование по определению взаимооднозначно.
Я не говорил конкретно о каких-то продуктах и о предварительной обфускации байт-кодированного исходника. Напротив, я говорил, что обфускацию, в частоности PHP UnReader можно использовать совместно с байт-кодированием, как предварительную обработку.
Я понял, что Вы примерно так и делаете. Это хорошо, но в некоторых случаях лучше остановиться только на обфускации, не делая байт-кодирования. Это позволит не использовать серверное ПО.
Это также голословно. Попробуйте на примере (http://www.pilotstudio.ru/download/index.zip).
В чём по сути разница наших позиций: Вы считаете, что для качественной защиты одной обфускации недостаточно, и необходимо дополнительное байт-кодирование обфусцированного кода. Я считаю, что обфускация PHP UnReader даёт максимум защиты, а дополнительное байт-кодирование повышает её уровень лишь на немного.
Думаю, это спор из разряда что лучше C++ или Pascal. Можно приводить много различных примеров, но однозначного ответа дать нельзя - выбор зависит от условий задачи и пристрастий программиста.
У меня другой вопрос. Реализованы ли в используемых Вами продуктах механизмы, подобные этим, и испытываете ли Вы потребность в подобных методах защиты:
Здесь очень большая разница: декомпиляция полностью или почти полностью автоматизирована, восстанавливает всю мнемонику. Деобфускация - это только условно, реально разобраться можно только вручную.
Человек, как правило, хочет не продукт, а средство решения стоящей перед ним проблемы. Если Ваш скрипт не решает какую-то очень специфическую задачу, у него есть конкуренты. И это нормально - большинство проблем уже стояли ранее перед кем-то. При наличии конкурентов любой фактор может стать решающим, как принято говорить "при прочих равных условиях".
Да, это пример неудачный - на этом тарифном плане и PHP нет. Но, тут же на форуме нашёл пример "сложностей" распространения продукта, работающего только под Zend: /ru/forum/143915, самый последний ответ на странице.
Вот в этом и есть основная задача. Вообще, задача любого кодирования информации - сделать время взлома больше времени актуальности этой информации.
Я думаю таких примеров много. У каждого метода защиты есть свои плюсы и минусы - нужно правильно их использовать. Если скрипт имеет множество конкурентов, то ужесточение "системных требований" может напрочь лешить его пользователей.
У меня тоже множество идей по развитию направления. Кроме различных улучшений/доработок самого кода можно, например, реализовать абсолютно жесткую привязку пользователя к серверу автора скрипта.
К примеру, есть некоторый скрипт, необходимо сделать так, чтобы он был работоспособен только на одной машине. Для этого скрипт должен включать в себя с помощью include(...) некий код с сервера автора скрипта. В этом коде можно собрать данные о выполняющей скрипт машине и разрешить/запретить дальнейшее выполнение. Задача: сделать так, чтобы обращение к серверу автора нельзя было обойти подсунув другой сервер или статический файл.
Можно вынести часть алгоритма, но это увеличит нагрузку на сервер автора.
С помощью обфускатора можно сделать следующее: для каждой переменной создаётся некоторое количество синонимов, карта которых хранится в этом вынесеном коде. Эта карта будет уникальна для каждой обфускации т.е. "ломать" придётся отдельно каждый билд, что повышает защищённость. Таким образом, включение кода будет просто обязательно для работы скрипта.
Размер файлов особо не важен - он увеличивается не на столько, чтобы создать проблемы при закачке или хранении файлов. Скорость действительно несколько падает, но ТОЛЬКО при замене кавычек .chr(...)., и это падение также не критично - около 10%. В собо критичных участках можно отказаться от этой замены.
Тут не всё так просто. Скрипт может быть очень хорошим, но его конкурент с более мягкими "системными требованиями" получит больше шансов привлечь внимание пользователя.
Я даже предоставлю Вам скидку для укрепления Вашего хорошего впечатления о продукте :)
Вот сейчас ткнул на угад в несколько хостингов моих клиентов, которые хостятся не у нас: http://www.atlex.ru, http://peterhost.ru - не говорю за все тарифы, но на тех, которые используются ZendOptimizer.
Да я не стараюсь специально придумать аргументы - они взяты из реальной работы с клиентами. Лишние системные требования часто сильно мешают распространению продукта. Часто бывает, что готовое решение, которое пакетом ставится на разные хостинги приходится дорабатывать именно под возможности хостингов, а точнее тарифов.
Системные требования должны быть обоснованы преимуществами для пользователя, а не удобством программиста. Иными словами, требование PHP5 пользователь поймёт с большей охотой, т.к. оно сулит повышение скорости, стабильности и т.д. А вот требование ZendOptimizer ничего не даёт пользователю кроме неудобств.
Да, для определённого спектра задачь конечно откажусь. Например, PHP UnReader работает без PHP5. Мне часто приходится писать продукты для "простых" сайтов и накладывать "системные требования" только потомучто PHP5 даёт преимущества, которые пользователь не заметит было бы просто нелогично.
Тут есть разница - восстановить исходник из байт-кода можно полностью автоматически, а в обфусцированном исходнике автоматически можно только расставить переводы строк и раскрыть кавычки. Убирать мусор и восстанавливать мнемонику всё равно придётся вручную, что делает такое восстановление гораздо более сложным.
Я тоже, так и был написан PHP UnReader.
Так и есть. В отличие от любого байт-кодирования.
Вы в этом уверены? Может для языков с менее "гибким" синтаксисом это действительно так, но в PHP, даже замена переменных, которая Вам видимо представляется как eregi_replace(...), на самом деле является весьма сложной задачей. Отчего бы Вам не попробовать сделать что-то подобное?
Мой опыт модификации, точнее исправления ошибок, в коде, который даже сохранил мнемонику названий говорит о том, что при привышении определённого объёма и при отсутствии указаний, что именно искать вроде $a = "demo"; модификация, а тем более исправление ошибок, становится крайне сложной.
К примеру есть код, который формирует некие статистические выкладки по множеству данный, которые он получает разными способами. Вам необходимо исправить ошибку, которая появляется только в некоторых случаях. Объём кода 2000 строк. Код обфусцирован и замусорен в соотношении 1 к 3. Вы действительно считаете, что сможете это сделать? Думаю, что я бы этого сделать не смог.
Тоже относится к грамотно распределённым ограничениям демо-версии, которые необходимо снять.
Если Вы всё же считаете, что это легко - попробуйте разобраться с примером http://www.pilotstudio.ru/download/index.zip.
Да вобщемто любой поисковик выдаст несколько десятков.
Для ответов на такие вопросы я выложил пример обработанного исходного кода небольшого проекта (http://www.pilotstudio.ru/download/index.zip). Если Вы так уверены, что возможно легко получить читабильный исходник, поробуйте хотябы снять ограничение на объём закачиваемой страницы, которое я даже не пытался спрятать.
Спасибо за замечания - я постарался более чётко изложить свои аргументы.