Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Алексей

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

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

Версия форума: 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 , всё равно ошибка..

 

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

Поделиться сообщением


Ссылка на сообщение
Даже если с помощью 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

Поделиться сообщением


Ссылка на сообщение
05/17/12 09:05 (изменено)

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

Изменено пользователем Алексей

Поделиться сообщением


Ссылка на сообщение

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

 

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

 

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

 

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...