Вопросы:
Как лучше всего передавать во фреймы переменные, сессии и другие данные (из главного скрипта и между фреймами).
Можно ли это сделать без передачи get-параметров в src (передавать таким способом все параметры сессии это жесть).
Можно ли запретить открывать фреймы в отдельном окне.

Спустя 6 минут, 42 секунды (7.11.2010 - 01:49) Sanchopansa написал(а):
помойму нельзы из фрейма получить не пост запросы ни сессию отправленые из основного скрипта
Спустя 8 часов, 31 минута, 6 секунд (7.11.2010 - 10:20) Slays написал(а):
ак я знаю что напрямую он их не видит, потому и спрашиваю, мне нужны альтернативные варианты передачи =)
Блин, если делать тупо на куки, то достаточно будет перехватить и подставить себе куки любого пользователя, чтобы войти под его именем и с его привилегиями, не ахти.
Как думаете, насколько безопасна такая схема:
хэш - случайное число, записываем в куки, в чистом виде от него никакой пользы
а $id пользователя передаем во фреймы через get-параметр, грубо говорят так
дальше во фреймах осуществлять проверку на соответствие хэша данному id
или как лучше
Блин, если делать тупо на куки, то достаточно будет перехватить и подставить себе куки любого пользователя, чтобы войти под его именем и с его привилегиями, не ахти.
Как думаете, насколько безопасна такая схема:
хэш - случайное число, записываем в куки, в чистом виде от него никакой пользы
а $id пользователя передаем во фреймы через get-параметр, грубо говорят так
<frameset rows="30px,*">
<frame name="menu" src="main/menu.php?id=<?php echo $id?>">
<frame name="main" src="main/main.php?id=<?php echo $id?>">
</frameset>
дальше во фреймах осуществлять проверку на соответствие хэша данному id
или как лучше

Спустя 2 часа, 54 минуты, 33 секунды (7.11.2010 - 13:14) Sanchopansa написал(а):
Я тебя не правильно понял... вот тебе пример где работают и POST запрозы и Сессия!
Файл testframe.html
Файл test.php
А вот тут можешь поглянуть в действии http://induviawebdesign.com/developers/sancho/testframe.html
Нажми на верхнюю кнопку Отправить
и все будет гуд
Файл testframe.html
<frameset rows="30px,*">
<frame name="menu" src="test.php">
<frame name="main" src="test.php">
</frameset>
Файл test.php
<?php
session_start();
if (!isset($_POST['test']))
{
$_SESSION['test'] = 'Sesssion test is PASSED!';
?>
<form action="" method="POST" target="main">
<input type="hidden" name="test" value="Post test is PASSED!" />
<input type="submit" />
</form>
<?php
} else {
echo $_POST['test'] . '<br />';
echo $_SESSION['test'];
}
?>
А вот тут можешь поглянуть в действии http://induviawebdesign.com/developers/sancho/testframe.html
Нажми на верхнюю кнопку Отправить


Спустя 4 минуты, 34 секунды (7.11.2010 - 13:19) Sanchopansa написал(а):
немного переписал...
файл frametest.html
Файл blank.html
файл test.php
так более наглядно.. протестить можешь все тамже!
файл frametest.html
<frameset rows="100px,*">
<frame name="menu" src="test.php">
<frame name="main" src="blank.html">
</frameset>
Файл blank.html
<html><head></head><body></body></html>
файл test.php
<?php
session_start();
if (!isset($_POST['test']))
{
$_SESSION['test'] = 'Sesssion test is PASSED!';
?>
<form action="" method="POST" target="main">
<input type="hidden" name="test" value="Post test is PASSED!" />
<input type="submit" />
</form>
<?php
} else {
echo $_POST['test'] . '<br />';
echo $_SESSION['test'];
}
?>
так более наглядно.. протестить можешь все тамже!
Спустя 6 минут (7.11.2010 - 13:25) Slays написал(а):
тут сессия создается внутри каждого фрейма, у меня ситуация немного другая =)
Имеется сайт из фреймов, доступ только для зарегистрированных пользователей, т.е.
Имеется сайт из фреймов, доступ только для зарегистрированных пользователей, т.е.
// тут проверка авторизации
// если есть сессия и есть пользователь с данными id и hach, то пусть гуляет по сайту
// если что-то не то, то редиректим его с сайта на форму авторизации
// Но помимо этого, мне с данными этой сессии нужно работать из каждого фрейма,
// т.е. чтобы test.php получил данные из сесии и знал с каким пользователем имеет дело,
// причем безопасность тут очень важный фактор, т.е. в каждом фрейме также идет проверка
<frameset rows="30px,*">
<frame name="menu" src="test.php">
<frame name="main" src="test.php">
</frameset>
Спустя 1 час, 7 секунд (7.11.2010 - 14:25) Sanchopansa написал(а):
Ты не прав.. все работает нормально...
http://induviawebdesign.com/developers/sancho/test.php
Файл test.php
Файл testframe.html
Файл test1.php
http://induviawebdesign.com/developers/sancho/test.php
Файл test.php
<?php
session_start();
if (!isset($_POST['test']))
{
unset($_SESSION['test']);
$_SESSION['test'] = 'Sesssion test is PASSED!';
?>
<form action="" method="POST">
<input type="hidden" name="test" value="Post test is PASSED!" />
<input type="submit" />
</form>
<?php
} else {
header('Location:testframe.html');
}
?>
Файл testframe.html
<frameset rows="100px,*">
<frame name="menu" src="test1.php">
<frame name="main" src="test1.php">
</frameset>
Файл test1.php
<?php
session_start();
if (!isset($_SESSION['test']))
{
echo 'Session ERROR!!!';
die();
}
echo $_SESSION['test'];
?>
Спустя 40 минут, 35 секунд (7.11.2010 - 15:06) Slays написал(а):
ты написал много кода, не относящегося к проблеме ) Но я посмотрев твой код, понял, что просто был не внимателен и сессии из фреймов видны, просто в одном месте session_start() пропустил.
в test.php
и все работает, сам себе проблему придумал =)
session_start();
$_SESSION['user_data'] = $row;
<frameset rows="30px,*">
<frame name="menu" src="test.php">
<frame name="main" src="test.php">
</frameset>
в test.php
session_start();
print_r($_SESSION);
и все работает, сам себе проблему придумал =)

Спустя 1 минута, 58 секунд (7.11.2010 - 15:08) Sanchopansa написал(а):
НУ я тебе это и старался показать.. просто подошел к этому более объемно
ну чтоб и новичкам было более понятно


_____________
если помог, не скупись на карму =)