За последние 24 часа нас посетили 21200 программистов и 1634 робота. Сейчас ищут 1476 программистов ...

Узнать с какого адреса был вызван скрипт

Тема в разделе "Прочие вопросы по PHP", создана пользователем stas3k, 21 июн 2014.

  1. stas3k

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

    С нами с:
    29 авг 2011
    Сообщения:
    18
    Симпатии:
    0
    Здравствуйте! Есть такая задача, узнать с какой страницы был вызван скрипт php. Дело в том, что скрипт php запускается на сервере, но его запускает предварительно JavaScript. Проблема в том, что некоторые умные люди берут мой скрипт JavaScript изменяют его и запускают скрипт со своими параметрами. Мне нужно узнать был ли запущен скрипт JavaScript с моего сайта или с другого какого. В общем суть такая, сделать так, чтобы никто не мог вызывать скрипт php на моем сайте если не запустит его из скрипта JS, который тоже на моем сервере. Буду благодарен за любые подсказки.

    Пробовал HTTP_REFER. В принципе почти то, что надо, но так приходится искать сайты, которые закачивают мой JS скрипт к себе и потом отдельно добавлять каждого нарушителя в проверку на HTTP_REFER и делать exit в коде. Вариант не совсем удобный. В общем будет интересно если кто подскажет что еще.
     
  2. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    чисто как направление "на подумать": применить такую же схему как с CSRF, вшивать скрипту токен и менять его скажем раз в день. Если токен старый писать что-нибудь вроде "этот нехороший человек ворует скрипты" )
     
  3. Lewik

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

    С нами с:
    5 авг 2009
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Черноголовка
    токен проще менять каждый запрос
     
  4. stas3k

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

    С нами с:
    29 авг 2011
    Сообщения:
    18
    Симпатии:
    0
    Можно пример токена? Не разу не пользовался.
     
  5. Lewik

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

    С нами с:
    5 авг 2009
    Сообщения:
    20
    Симпатии:
    0
    Адрес:
    Черноголовка
    Любая случайная строка. Можно идентификатор сессии запихать... но я не до конца уверен что будет с безопасностью. Юзай guid(), rand() и прочее.
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Пф... Просто взять и запретить вызов дальше домена.
    Чтобы только у тебя можно было делать запрос.