Перейти к контенту

Три хака, которые уменьшат траффик


Рекомендуемые сообщения

Один называется

die redirect die (объяснять не надо?) автор этого хака подсчитал... сколько тратится траффика на редирект страницы и сделал очень простой хак, который убирает редирект.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
die redirects, die! - die redirects, die! - die redirects, die!

                   http://www.worman.net/

die redirects, die! - die redirects, die! - die redirects, die!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Assuming you havn't modified your functions.php file at all...
Open /sources/functions.php

At about line 1464.

replace this
-------------
   function redirect_screen($text="", $url="") {
       global $ibforums, $skin_universal, $DB;
       
       if ($ibforums->input['debug'])
       {
           flush();
           exit();
       }
       
       $url = $start . "?s={$ibforums->session_id}&".$url;
       
       $ibforums->lang['stand_by'] = stripslashes($ibforums->lang['stand_by']);
       
       $css = "\n<style>\n<!--\n".str_replace( "<#IMG_DIR#>", $ibforums->skin['img_dir'], $ibforums->skin['css_text'] )."\n//-->\n</style>";
       
       $htm = $skin_universal->Redirect($text, $url, $css);
       
       $TAGS = $DB->query("SELECT macro_value, macro_replace FROM ibf_macro WHERE macro_set='{$ibforums->skin['macro_id']}'");
       
       while ( $row = $DB->fetch_row($TAGS) )
         {
           if ($row['macro_value'] != "")
           {
               $htm = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $htm );
           }
       }
       
       $htm = str_replace( "<#IMG_DIR#>", $ibforums->skin['img_dir'], $htm );
       
       // Close this DB connection
       
       $DB->close_db();
       
       // Start GZIP compression
       
       if ($ibforums->vars['disable_gzip'] != 1)
       {
           ob_start ('ob_gzhandler');
       }
       
       $this->do_headers();
       
       echo ($htm);
       exit;
   }
-------------


with this

-------------
function redirect_screen($text="", $url="") {
global $DB, $std, $ibforums; 
if ($ibforums->input['debug'])
{
flush();
exit();
}
$url = $start . "?s={$ibforums->session_id}&".$url; 
$css = "\n<style>\n<!--\n".str_replace( "<#IMG_DIR#>", $ibforums->skin['img_dir'], $ibforums->skin['css_text'] )."\n//-->\n</style>";
$TAGS = $DB->query("SELECT macro_value, macro_replace FROM ibf_macro WHERE macro_set='{$ibforums->skin['macro_id']}'");
while ( $row = $DB->fetch_row($TAGS) )
{
if ($row['macro_value'] != "")
{
$htm = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $htm );
}
}
$htm = str_replace( "<#IMG_DIR#>", $ibforums->skin['img_dir'], $htm );
$DB->close_db();
if ($ibforums->vars['disable_gzip'] != 1)
{
ob_start ('ob_gzhandler');
}
$std->boink_it($url);
echo ($htm);
exit;
}
-------------
SubjectZer0
-------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
die redirects, die! - die redirects, die! - die redirects, die!

                   http://www.worman.net/

die redirects, die! - die redirects, die! - die redirects, die!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

От себя могу заметить, что хак работает... и экономит не только траффик, но и время посетителей форума.

 

И второй, тоже очень простой, который убирает id сессии из ссылок. Кому нужны эти ссылки, которые у меня (а я посещаю этот форум часто) не влезают даже адресную строку... Вот решение:

+===========================================================+
* Simple edit the following files below and make sure       *
* to make bakups.                                           *
*                                                           *
* Then go to Admin CP -> Board Settings -> Basic Config     *
* Go down to HTTP Environment and you will now see an       *
* option to hide session IDs                                *
*                                                           *
* Make sure cookie are properly working before turning      *
* off!                                                      *
*                                                           *
* DEMO: http://www.inastorytold.com/forums/ (if turned off) *
* BY: Ed Richards (eddo@iit.edu)                            *
* DATE: December 31st, 2002                                 *
* (sorry the s= cannot be removed because it is hard coded  *
*  into almost every file :[ )                              *
+===========================================================+


==========
 STEP 1
==========
--------------------------------------------------------
FILE: ad_settings.php
WHERE: ~ LINE 101
FIND:
case 'dourl':
   $this->save_config( array ( 'number_format', 'html_dir','safe_mode_skins', 'board_name','board_url','home_name','home_url', 'disable_gzip',
                               'html_url','upload_url', 'upload_dir', 'print_headers', 'header_redirect', 'debug_level', 'sql_debug' ) );
   break;

REPLACE:
case 'dourl':
   $this->save_config( array ( 'number_format', 'html_dir','safe_mode_skins', 'board_name','board_url','home_name','home_url', 'disable_gzip',
                               'html_url','upload_url', 'upload_dir', 'print_headers', 'session_hide', 'header_redirect', 'debug_level', 'sql_debug' ) );
   break;
---------------------------------------------------------


==========
 STEP 2
==========
---------------------------------------------------------
FILE: ad_settings.php
WHERE: ~ LINE 1165
FIND:
$ADMIN->html .= $SKIN->add_td_row( array( "<b>Print HTTP headers?</b><br>(Some NT installs require this off)" ,
                                 $SKIN->form_yes_no( "print_headers", $INFO['print_headers'] )
                        )      );
ADD BELOW:
$ADMIN->html .= $SKIN->add_td_row( array( "<b>Hide Session ID?</b><br>(Removes Session ID from the URL)" ,
                                 $SKIN->form_yes_no( "session_hide", $INFO['session_hide'] )
                        )      );
----------------------------------------------------------


==========
 STEP 3
==========
----------------------------------------------------------
FILE: index.php
WHERE: ~ LINE 158
FIND:
if ($ibforums->member['id'] and ( $std->my_getcookie('hide_sess') ) )
{
   $ibforums->session_id = "";
}
ADD ABOVE:
if ($INFO['session_hide'])
{
   $ibforums->session_id = "";
}
----------------------------------------------------------


==========
 STEP 4
==========
-----------------------------------------------------------
FILE: conf_global.php
ADD ANYWHERE:
$INFO['session_hide']            =    '1';
-----------------------------------------------------------

 

Хак очень нужный. Ссылки выглядят намного более привлекательными.

Так и еще один. Парсит картинки так, что они не раздвигают форум по ширине. Вы наверное видели тот ужас на bestfilez.net, когда при расширении 800х600 форум раздвигается из-за того, что картинки в новостях идут в реальном размере? Демо можете посмотреть на моем сайте Вот решение:

---------------------------------------------------------------------------
Imageresize for IBF1.1  (original von ocb)
E-Mail:      opa@invisionpower.de
Web-Seite:   http://opa.invisionpower.de
MSN:         opa@invisionpower.de
ICQ:         94767822
---------------------------------------------------------------------------

Imageresizing .. for IBF 1.1 (original von ocb)

save skin_topic

open skin_topic
find (ca. line 300)


EOF;
}
function Show_attachments_img($data) {
global $ibforums;
return <<<EOF
<br><br><center><b>{$ibforums->lang['pic_attach']}</b></center><br>
<table cellpadding='4' cellspacing='0' border='0' width='50%' align='center' class='fancyborder'>
<tr>
EOF;
}

replace that with:


EOF;
}
function Show_attachments_img($data) {
global $ibforums;
return <<<EOF
<br><br><center><b>{$ibforums->lang['pic_attach']}</b></center><br>
<table cellpadding='4' cellspacing='0' border='0' width='50%' align='center' class='fancyborder'>
<tr>
 <td valign='middle' align='center'><img src='{$ibforums->vars['upload_url']}/{$data['file_name']}' border='0'
onload="javascript:if(this.width > screen.width-300)this.width = (screen.width-300)" onclick="javascript:window.open('{$ibforums->vars['upload_url']}/{$data['file_name']}','','scrollbars=1,toolbar=0,resizable=1,menubar=0,directories=0,status=0')"></td>
</tr>
</table>
<p>

EOF;
}



save, close and upload

 

Вот такие нужные хаки. Ibplanet.com мной был перепахан вдоль и поперек... Ненужного там полно... но есть и бриллианты.

Ссылка на комментарий
Поделиться на других сайтах

Интересно, почему сюда переместили? Ничего против не имею, но если для Ibresource.ru эти хаки не нужны(а я предложил улучшить как раз этот форум), то эту тему надо перенести в Другие модификации, так как никто эти хаки не разрабатывает (они уже сделаны) и более того они не мои... а взяты с Ibresource.com и IBPlanet.ru
Ссылка на комментарий
Поделиться на других сайтах

B.X

Интересно, почему сюда переместили? Ничего против не имею, но если для Ibresource.ru эти хаки не нужны(а я предложил улучшить как раз этот форум),

Да нет хаки очень даже нужные и я их уже поставил. Спасибо!%) А перенесли потомучто раз мы их поставили пусть и другие поставят%))

Ссылка на комментарий
Поделиться на других сайтах

А вот! Теперь вижу... по ссылкам. Ну ладно... пусть здесь будут. Эти хаки, как и хак include о котором я уже говорил в теме про Custom Pages, как и сам хак Custom Pages самые лучшие и нужные хаки, которые вообще есть...! Спасибо авторам за идею... и главное - за реализацию...
Ссылка на комментарий
Поделиться на других сайтах

http://www.urbusk.ee/cr/index.php?pg=1

 

Здесь можешь посмотреть... Самое интересное, что этот хак можно использовать на разных адресах, например, на локалхосте и ничего менять не надо... У меня в файлах пхп этот адрес выглядит так:

 

<a href="{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}?pg=1">{$ibforums->lang['nav_pravila']}</a><br>

 

То есть, все пути относительные и если надо перенести на другой хостинг, с другим адресом, то никаких проблем не возникнет...

 

Я когда тестирую хаки на локалхосте, очень удобно, просто изменил config.php и теперь ссылки на форуме другие - это одно из главных достоинств Custom Pages...

Ссылка на комментарий
Поделиться на других сайтах

у некоторых юзеров лазящих на форум через одно и тоже прокси по идее работоспособность второго хака приведет к тому, что они будут заходить на форум под разными ("своими") никами :D))

 

---

второй хак - фигня по сути, так как если юзер захочет и ему это в инструкции к форуму админ объяснит - то юзер сам сможет это id отключить ;))))

Ссылка на комментарий
Поделиться на других сайтах

B.X

Насчет третьего хака .

Обрати внимание на этот хак .

Это доработанная и улучшеная версия ,того что ты опубликовал

Ссылка на комментарий
Поделиться на других сайтах

А редирект убирать стоит?

Можно посмотреть на каком-нибудь форуме (где регистрироваться не надо), как это работает?

 

Добавлено:

Или тут так уже сделано? :D

 

Добавлено:

Или тут так уже сделано? ;)

Ссылка на комментарий
Поделиться на других сайтах

Можно посмотреть на каком-нибудь форуме

У меня можно посмотреть... Регистрироваться не надо. Вот здесь протестируй этот самый редирект (просто добавь любую тему, с пометкой "тест" да и все)...

хак с image resize (третий) тоже можешь протестировать там же, а посмотреть демку здесь

 

snop

Хотелось бы увидеть демку, а также узнать, новые возможности... что там изменено...

Ссылка на комментарий
Поделиться на других сайтах

B.X

Потестил - http://www.urbusk.ee/cr/index.php?s=&act=ST&f=35&t=216 . Спасибо.

А правда трафа много жрёт?? Я просто не знаю, ставить себе или нет???

 

Image resize мне не надо, т.к. я запретил присоединять файлы и изображения :D

Ссылка на комментарий
Поделиться на других сайтах

Траффик жрет если присутствует редирект... сам подумай, столько ненужных обращений к одной и той же странице. Поискали человек 50 у тебя на форуме что-то и скачали кроме нужных страниц еще 50 страниц редиректа каждый... вот и считай...

 

Если хак стоит, то этого не происходит, то есть каждый получает только то, что искал... к тому же время тоже имеет значение.

 

Обновление:

Добавил хак от snop'a, действительно хороший хак... правда там лучше ставить не 640, а 540 тогда при разрешении 800х600 будет выглядеть все нормально... ну и можно, наверное onload javascript добавить, чтобы можно было просмотреть в нормальном размере в новом окне...

 

В общем, смотреть здесь (там демки и потестировать можно).

Ссылка на комментарий
Поделиться на других сайтах

Да, придется добавить $info но лучше если бы архив тоже был обновлен, чтобы все добавляли исправленный хак и чтобы с гифами у них проблем не было...

 

а как в присоединенном изображении-гифе так же сделать (то есть, во второй части хака, того, который не твой)?

 

И еще вопрос, как сделать (точнее что написать) чтобы вместо alt=user posted image этот алт указывал бы на {$ibforums->lang['pic_attach']} или что-то в этом роде... чтобы в разных лангпаках все нормально было, на понятном языке?

 

Да, и еще, хорошо бы было, чтобы по двойному клику можно было бы в новом окне получить полную версию картинки (короче как у того хака, который присоединяет изображения с компа)...

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Вопрос по второму хаку (ID): что убрать этот ИД можно в Мой Профиль>Настройки форума , 1) а как сделать чтобы по умолчанию у зарегеного пользователя были отключены ID и 2) как перевести всех уже зарегенных пользователей на отключение ID?
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

Первый хак прекрасно работает. Это конечно главное, но хотелось бы знать почему. Я не достаточно хорошо разбираюсь в РНР, что бы понять что делала старая функция, и что она делает после хака.

Можете мне это объяснить на пальцах?

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
Вопрос по второму хаку (ID): что убрать этот ИД можно в Мой Профиль>Настройки форума , 1) а как сделать чтобы по умолчанию у зарегеного пользователя были отключены ID и 2) как перевести всех уже зарегенных пользователей на отключение ID?

Вот как только вы отключить в АдминПанели (А не в Профиле), так ни у кого этих ID не будет...

 

Первый хак прекрасно работает. Это конечно главное, но хотелось бы знать почему. Я не достаточно хорошо разбираюсь в РНР, что бы понять что делала старая функция, и что она делает после хака. Можете мне это объяснить на пальцах?

Редирект сделан для того, чтобы перенапоавлять человека туда, куда ему надо.

Для больших форумов - это наверное полезная функция. Но она раздражает.

Траффик к тому же и сервер работает больше нужного.

Он постоянно обращается к этой странице...

После хака всё идёт напрямую, без обращений к редиректу,

поэтому без редиректа вы будете при ошибках сами искать путь (куда вы хотели попасть)...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.