ФорумПрограммированиеPHP для идиотов → Запуск скрипта внутри iframe ... помогите оценить степень бредовости идеи

Запуск скрипта внутри iframe ... помогите оценить степень бредовости идеи

  • Cheese

    Сообщения: 74 Репутация: N Группа: Кто попало

    Spritz 5 декабря 2008 г. 2:02

    Скрипт лежащий в отдельной папке, вызывается внутри ифрейма. Можно ли как-то "привязать" его к этому ифрейму исключив его запуск напрямую, или идея бредовая сама по себе? Если можно, то подскажите куда копать…
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 5 декабря 2008 г. 11:51, спустя 9 часов 49 минут 21 секунду

    Смотря от реализации, я когда то использовал такое, вместо ajaxa, а так вообще сессию заведи на главной странице - а в скрипте, вызываемом в iframe проверяй, есть ли она
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 5 декабря 2008 г. 12:03, спустя 11 минут 56 секунд

    Причины подробно опишите
  • Cheese

    Сообщения: 74 Репутация: N Группа: Кто попало

    Spritz 5 декабря 2008 г. 12:32, спустя 28 минут 46 секунд


    Причины подробно опишите

    Есть многомудрый скрипт реализующий некий функционал.
    Интеграция этого функционала в существующей  CMS(самописной) в виде компонента\модуля требует
    умственных усилий несовместимых с ценой вопроса(а так же со сроками). По этому я пошел по пути
    наименьшего сопротивления и запускаю скрипт в ифрейме, при этом хочется исключить:
    а) всякую возможность запуска скрипта неавторизованным пользователем;
    б) всякую возможность запуска скрипта напрямую любым пользователем;


    Смотря от реализации, я когда то использовал такое, вместо ajaxa, а так вообще сессию заведи на главной странице - а в скрипте, вызываемом в iframe проверяй, есть ли она

    Похоже это то что мне нужно…
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 5 декабря 2008 г. 13:06, спустя 33 минуты 57 секунд



    Причины подробно опишите

    Есть многомудрый скрипт реализующий некий функционал.
    Интеграция этого функционала в существующей  CMS(самописной) в виде компонента\модуля требует
    умственных усилий несовместимых с ценой вопроса(а так же со сроками). По этому я пошел по пути
    наименьшего сопротивления и запускаю скрипт в ифрейме, при этом хочется исключить:
    а) всякую возможность запуска скрипта неавторизованным пользователем;
    б) всякую возможность запуска скрипта напрямую любым пользователем;


    Смотря от реализации, я когда то использовал такое, вместо ajaxa, а так вообще сессию заведи на главной странице - а в скрипте, вызываемом в iframe проверяй, есть ли она

    Похоже это то что мне нужно…

    Ну насчёт а) - то да : в ифрейме будет передана сессия, насчёт б) Всё равно надо более чёткое описание , я не совсем понимаю: к примеру есть кнопка, при тыцаньи на которую выполняеться скрипт в ифрейме, второй раз её нажать можна? Если да то почему тогда нельзя напрямую? Короче на пальцах обьясни
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 5 декабря 2008 г. 13:32, спустя 25 минут 59 секунд


    а) всякую возможность запуска скрипта неавторизованным пользователем;
    б) всякую возможность запуска скрипта напрямую любым пользователем;

    Как устроена авторизация? Cтандартные PHP сессии?
    Что мешает в начало скрипта все-таки добавить проверку авторизации?
  • Cheese

    Сообщения: 74 Репутация: N Группа: Кто попало

    Spritz 5 декабря 2008 г. 21:45, спустя 8 часов 13 минут 24 секунды



    а) всякую возможность запуска скрипта неавторизованным пользователем;
    б) всякую возможность запуска скрипта напрямую любым пользователем;

    Как устроена авторизация? Cтандартные PHP сессии?
    Что мешает в начало скрипта все-таки добавить проверку авторизации?


    Ничто не мешает. Просто недотумкал ввиду собственной дремучести, что запущенный в ифрейме скрипт "увидит" сессию вне ифрейма….
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 5 декабря 2008 г. 22:08, спустя 22 минуты 28 секунд

    Скрипт "видит" сессию, если получает идентификатор сессии, который как правило хранится а куке. Кука ставится для домена. Соответственно фрейм или не фрейм не важно (php про это вообще ничего не знает), важно чтоб обращение было в том же домене, тогда браузер пришлет куку с идентификатором.
  • Cheese

    Сообщения: 74 Репутация: N Группа: Кто попало

    Spritz 12 декабря 2008 г. 1:22, спустя 6 дней 3 часа 14 минут


    Скрипт "видит" сессию, если получает идентификатор сессии, который как правило хранится а куке. Кука ставится для домена. Соответственно фрейм или не фрейм не важно (php про это вообще ничего не знает), важно чтоб обращение было в том же домене, тогда браузер пришлет куку с идентификатором.


    Немного заткнулся на стадии реализации этого дела… Проверять надо по сессии или по куке?

    session_start();
    if (!$_SESSION['login_id'])
    {die('Доступ закрыт.');}

    в начале вложенного в ифрейм скрипта не помогает…доступ получается всегда закрыт
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 декабря 2008 г. 8:56, спустя 7 часов 33 минуты 49 секунд



    Скрипт "видит" сессию, если получает идентификатор сессии, который как правило хранится а куке. Кука ставится для домена. Соответственно фрейм или не фрейм не важно (php про это вообще ничего не знает), важно чтоб обращение было в том же домене, тогда браузер пришлет куку с идентификатором.


    Немного заткнулся на стадии реализации этого дела… Проверять надо по сессии или по куке?

    session_start();
    if (!$_SESSION['login_id'])
    {die('Доступ закрыт.');}

    в начале вложенного в ифрейм скрипта не помогает…доступ получается всегда закрыт
    покажи нам print_r($_COOKIE);die(); сюда
    Сапожник без сапог
  • Cheese

    Сообщения: 74 Репутация: N Группа: Кто попало

    Spritz 12 декабря 2008 г. 11:05, спустя 2 часа 8 минут 40 секунд


    покажи нам print_r($_COOKIE);die(); сюда


    Ну вот и ответ на мой вопрос…. Точнее почти ответ….
    Снаружи фрейма так:

    Array ( [ci_session] => a:6:{s:10:"session_id";s:32:"39821de23bb647f178bb6a9aa60e8111";s:10:"ip_address";s:9:"127.0.0.1";s:10:"user_agent";s:50:"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.";s:13:"last_activity";i:1229068659;s:8:"username";s:7:"johndoe";s:8:"login_id";b:1;}92bdefca5aeff52d8442ceebebba76e4 )


    внутри так:

    Array ( [ci_session] => a:6:{s:10:\"session_id\";s:32:\"39821de23bb647f178bb6a9aa60e8111\";s:10:\"ip_address\";s:9:\"127.0.0.1\";s:10:\"user_agent\";s:50:\"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.\";s:13:\"last_activity\";i:1229068659;s:8:\"username\";s:7:\"johndoe\";s:8:\"login_id\";b:1;}92bdefca5aeff52d8442ceebebba76e4 )


    Непонятно:
    а)откуда внизу слеши?
    б)фигня из-за них?


  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 декабря 2008 г. 11:08, спустя 2 минуты 54 секунды



    покажи нам print_r($_COOKIE);die(); сюда


    Ну вот и ответ на мой вопрос…. Точнее почти ответ….
    Снаружи фрейма так:

    Array ( [ci_session] => a:6:{s:10:"session_id";s:32:"39821de23bb647f178bb6a9aa60e8111";s:10:"ip_address";s:9:"127.0.0.1";s:10:"user_agent";s:50:"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.";s:13:"last_activity";i:1229068659;s:8:"username";s:7:"johndoe";s:8:"login_id";b:1;}92bdefca5aeff52d8442ceebebba76e4 )


    внутри так:

    Array ( [ci_session] => a:6:{s:10:\"session_id\";s:32:\"39821de23bb647f178bb6a9aa60e8111\";s:10:\"ip_address\";s:9:\"127.0.0.1\";s:10:\"user_agent\";s:50:\"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.\";s:13:\"last_activity\";i:1229068659;s:8:\"username\";s:7:\"johndoe\";s:8:\"login_id\";b:1;}92bdefca5aeff52d8442ceebebba76e4 )


    Непонятно:
    а)откуда внизу слеши?
    б)фигня из-за них?



    magin_quotes_rpc нахуй отруби. это первое. второе - ебаный метод хранить сериализованный массив в куки, в куки должен быть идентификатор!!!!!!!! сессии а не сама сессия. да и минус этого метода в том, что длина на значение куки я 99% уверен ограничена
    Сапожник без сапог
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 12 декабря 2008 г. 11:08, спустя 25 секунд

    http://phpfaq.ru/slashes
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 12 декабря 2008 г. 11:09, спустя 1 минуту 15 секунд


    http://phpfaq.ru/slashes
    ахренеть. сколько текста … не осилить)
    Сапожник без сапог
  • Cheese

    Сообщения: 74 Репутация: N Группа: Кто попало

    Spritz 12 декабря 2008 г. 11:23, спустя 13 минут 17 секунд


    magin_quotes_rpc нахуй отруби. это первое. второе - ебаный метод хранить сериализованный массив в куки, в куки должен быть идентификатор!!!!!!!! сессии а не сама сессия. да и минус этого метода в том, что длина на значение куки я 99% уверен ограничена

    С первым понятно, по второму - это не я, это фреймворковый класс для работы с сессией так придуман :)
    И насчет длины в точку - ограничение 4кб…

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