Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Алексей

JavaScript не дружит с IPB?

Recommended Posts

Версия форума: IPB 3.3.1

В общем, вот у меня есть скрипт, который всегда запрашивает жать "OK".

 

<script language="JavaScript">
<!-- Begin
var zayti=confirm("Вы точно хотите сюда войти? \nЕсли нет, нажмите ОТМЕНИТЬ и Вы вернетесь туда, откуда пришли.");
if (zayti)
history.go(1);
else
history.back();
// End -->
</script>

 

Если его вставить в "index.php" таким способом:

 

 

require_once( './script.php' );

 

То на форум невозможно зайти.

 

Даже если с помощью include , всё равно ошибка..

 

Возможно, есть какой либо способ вставить скрипт без ошибки? В шаблон вставлять - не вариант, не помогает.

Share this post


Link to post
Share on other sites
Даже если с помощью include , всё равно ошибка..

Удивительно. Может быть, дело в том, что такими инструкциями вы пытаетесь выполнить JavaScript сервером как PHP-код?

 

И потом, как это изменит работу ресурса в целом, если данный скрипт не делает ровным счетом ничего полезного, т.к. страница все равно генерируется и отдается, и только потом вызывается данный диалог "вам здесь не рады"? Если целью была защита от DDoS, то такой диалог должен быть вместо генерации страницы, а не в довесок к ней.

 

Добавьте в index.php перед "define( 'IPB_THIS_SCRIPT', 'public' );":

$sekret = '208923u90fww';
if (!isset($_COOKIE[$sekret])) {
 echo "
   <html><title>Антиддос</title><meta http-equiv='content-type' content='text/html; charset=UTF-8' />
   <script type='text/javascript'>
   if (confirm('Вы точно хотите сюда войти? Если нет, нажмите ОТМЕНИТЬ и Вы вернетесь туда, откуда пришли.')) {
     var today = new Date(); var expire = new Date(); var nDays = 1;
     expire.setTime(today.getTime() + 3600000*24*nDays);
     document.cookie = '{$sekret}=pass;expires='+expire.toGMTString();
     location.reload();
   } else {
     history.back();
   }
 </script>";
 exit();
}

  • Upvote 1

Share this post


Link to post
Share on other sites

Спасибо большое, помогло. Кстати, все боты моментально пропали с форума :)

Edited by Алексей

Share this post


Link to post
Share on other sites

В принципе, совсем хорошо было бы, если добавить внутрь echo еще сообщение для пользователей без JS:

 

<noscript>Для работы с сайтом необходимо наличие JavaScript!</noscript>

 

И вы же в курсе, что поисковики всему этому не обрадуются? :)

  • Upvote 1

Share this post


Link to post
Share on other sites

Да, догадывался.. Буду ставить когда на форум пойдёт атака :)

Share this post


Link to post
Share on other sites

А если ???? высвечиваются что делать?

 

И заоодно можно на 3.4.1 увидеть такое?

Share this post


Link to post
Share on other sites

А если ???? высвечиваются что делать?

 

И заоодно можно на 3.4.1 увидеть такое?

 

Сделайте кодировку index.php в UTF-8 (возможно без BOM)

Будет работать на всех версиях я думаю. На 3.3.х работало!

Тем более это просто яваскрипт.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...