Хак Исходник html код одной строкой

Тема в разделе "DLE", создана пользователем $aSH, 14 авг 2009.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. $aSH

    $aSH

    Регистр.:
    3 ноя 2006
    Сообщения:
    536
    Симпатии:
    233
    Если взглянуть исходный html коl всем известной корпорации (http://www.microsoft.ru), мы увидим, что весь код предствален практически одной строкой.

    Это не кривые руки программистов, это перед тем как отдать Вашему браузеру страницу скрип вырезал всю ненужную информацию, дабы съэкономить пару килобайт трафика.


    Подобный хак уже был дя DLE, но в поиске не нашел, поэтому черканул на скору руку новый вариант.

    \index.php (самый низ)
    Код:
    echo $tpl->result['main'];
    заменить на
    Код:
    function compress($string)
    	{ 
    	$string=str_replace("\r","",$string);
    	$string=str_replace("\n","",$string);
    	$string=str_replace("	","",$string);
    	$string=preg_replace("/(\n)+/","",$string);
    	return $string; 
    	}
    
    echo compress($tpl->result['main']);
    
    кто может, оптимизируйте регулярку, я с ней не дружу.

    Да, кстати подобный вывод в строчку резко осложнит рипанье эксклюзивного шаблона.

    ps. я сказал "усложнит", но не защитит!
     
    SuRS, MSW, eshkin и ещё 1-му нравится это.
  2. E-body

    E-body

    Регистр.:
    6 сен 2007
    Сообщения:
    985
    Симпатии:
    331
    Как это скажется на нагрузке, тоесть если компресует значит работы больше и шаблоны вроде стануть меньше весить благодаря чему возрастет эконоия трафика у пользователей?
    п.с. после переезда с бест-хостинг (за большие нагрузки дле 6.х прогнали) теперь задумываться нужно над каждым хаком а надо ли
     
  3. MSW

    MSW

    Регистр.:
    27 авг 2007
    Сообщения:
    491
    Симпатии:
    408
    E-body,
    нагрузка на канал связи - уменьшится
    нагрузка на процессор - увеличится

    нагрузка на канал уменьшится на пару килобайт(зависит от того как сверстан шаблон)

    насколько увеличится нагрузка на проц - зависит от размера обрабатываемой страницы

    но соотношение явно будет неравным... и, предполагаю, что увеличенная нагрузка на проц не сможет компенсировать уменьшеную гнагрузку на канал

    хотя всё относительно и зависит от параметров сервера/хостинга.
     
  4. lift

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.377
    В принцепе мысль достаточно здравая. Но не новая. Яшка сам "грешен" вытягиванием кода в 1 строку.
    Я тоже так делаю, точнее стараюсь. Но не хаками а правкой шаблонов. Вытягиваю их в 1 строку. И скуль запросами в БД чищу от некоторой части мусора саму базу (двойные пробелы, <br> и прочее).
    Вроде не много, несколько % снимает из размера страници, но мне кажется оно того стоит.
     
  5. $aSH

    $aSH

    Регистр.:
    3 ноя 2006
    Сообщения:
    536
    Симпатии:
    233
    да, нагрузка будет зависить от размера страницы, друго дело, что рипать такой шаблон в одну строчку труднее, нужно гемороится переносить все в удобоваримый вид )
    ну это так, "защита" от школьника
     
  6. gls

    gls Комбат

    Регистр.:
    11 янв 2007
    Сообщения:
    578
    Симпатии:
    294
    а если у меня
    PHP:
    eval (' ?' '>' $tpl->result['main'] . '<' '?php ');
    то как мне заменить $tpl->result['main']?
     
  7. $aSH

    $aSH

    Регистр.:
    3 ноя 2006
    Сообщения:
    536
    Симпатии:
    233
    Код:
    function compress($string)
    	{ 
    	$string=str_replace("\r","",$string);
    	$string=str_replace("\n","",$string);
    	$string=str_replace("	","",$string);
    	$string=preg_replace("/(\n)+/","",$string);
    	return $string; 
    	}
    
    eval (' ?' . '>' . compress($tpl->result['main']) . '<' . '?php ');
    
    вроде так
     
    gls нравится это.
  8. LIFE!

    LIFE!

    Регистр.:
    26 окт 2008
    Сообщения:
    244
    Симпатии:
    38
    После этого хака,счётчик LI.ru перестал отображаться,странно.

    Проверил: 100 % из-за этого хака
     
  9. $aSH

    $aSH

    Регистр.:
    3 ноя 2006
    Сообщения:
    536
    Симпатии:
    233
    яваскрипт в одну строчку, вполне может быть. нужно смотреть наличие комментов "//" и подобного
     
  10. LIFE!

    LIFE!

    Регистр.:
    26 окт 2008
    Сообщения:
    244
    Симпатии:
    38

    Проблема была в закомментированном отрезке кода LI
    Код:
    <!---  --->
    ещё отказались bb коды работать,так что польза данного хака-сомнительная
     
Статус темы:
Закрыта.