За последние 24 часа нас посетили 15678 программистов и 1553 робота. Сейчас ищут 947 программистов ...

Запрет открытия нового окна (РНР)

Тема в разделе "PHP для новичков", создана пользователем Elkaz, 21 янв 2008.

  1. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Здравствуйте. Возможно заголовок не совсем корректно отображает суть... но все же попытаюсь описать цель максимально подробно.
    Есть авторизация. Пользователь авторизовался, все ок. Он ходит, бродит и гуляет :) Далее. Если на сайте имеется ссылка и он открыл ее в новом окне (т.е правой кнопкой и open in new tab/window) - сайт открывается. Как можно запретить это. Мыслей было много (вплоть до хранения в БД какой-то метки). Но к нормальному выводу я так и не пришел.

    Спасибо.
    С уважением.
     
  2. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Никак. Браузеру твой php вообще неинтересен.
     
  3. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    karakh
    Вы не поняли главного...
    Перечитайте сообщение.
    Дополню: при открытии второго окна должен выйти die ('You are already at this site');
     
  4. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Elkaz
    Все все поняли. Ответ
    правильный
     
  5. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    как вариант могу предложить блокирование ссылок ;))) Типа он отображаются просто текстом.. без ссылки как таковой... Ии вставляйте во все ссылки онклик
     
  6. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    AlexGousev
    Ответ не правильный.

    Nemo
    Неа, не катит :(

    Решил проблему через сессии...
     
  7. Clone

    Clone Guest

    Чисто ради интереса, зачем делать такую блокировку? СтОит ли она вообще геморра?
     
  8. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Clone
    Стоит. Это онлайн проект (РПГ игра). Возьмем пример. Игрок входит в игру. Далее совершает какие-то действия. Потом открывает новое окно (путем New window) и переходит, к примеру, в больницу. И в это же время он дерется.

    Писать обработчик, который бы проверял текущие действия - это долго и не выгодно. Поэтому спрашиваю, как можно именно запретить открытие нового окна... Т.е что бы он открыл окно, а ему вывелся эррор.

    Использовать можно любые средства. РНР/JS/MySQL. Доступ к базе имеется. Не знаю какую именно метку поставить и как ее проверять...
     
  9. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Ответ правильный, вопрос не правильный. По какому признаку я должен догадаться, что ссылка, которую пользователь открывает в новом окне ведет на тот же сайт?
     
  10. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    Elkaz
    Вот в игре дракониа, этот метод решался так: когда игрок открывал еще одно окно, чтобы сразу быть в двух местах, то в новом окне открвалась местность где он сейчас находится, поэтому, чтобы пройти в другую местность, надо было поочередно идти из главного окна... поэтому возможности небыло сразу в двух местах быть... ты же ведь не можешь одновремено в двух местах быть в реальности, там тоже такой принцип был, а не блокирование окон... ИМХО: блокирование окон может раздражать игроков, а этот метод вполне хорошо приемлен...