Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

Разработка » Мегабаг с onload » 20-10-2006 20:28:12

Выделить код

Код:

alik@dev:~/public_html/test$ cat index.php
<?php
session_start();
?>
<body onload="view_pic()">
<script language="javascript">
        function view_pic() {
                document.pic.src='index2.php';
        }
</script>
<?php
$_SESSION['time'] = time();
print_r($_SESSION);

for($i =0; $i < 100; $i++) {
        for($j = 0; $j < 500; $j++)
                echo "bla";
        echo "<br />";
}

?>
<img name="pic" src="">
</body>
alik@dev:~/public_html/test$ cat index2.php
<?php

session_start();
print_r($_SESSION);

?>
alik@dev:~/public_html/test$

Вместо

Выделить код

Код:

for($i =0; $i < 100; $i++) {
        for($j = 0; $j < 500; $j++)
                echo "bla";
        echo "<br />";
}

можно вставить любой текст, который будет генериться больше 1 секунды.

Apache/1.3.33 Ben-SSL/1.55 (Debian GNU/Linux) пишет

10.100.111.22 - - [20/Oct/2006:20:09:48 +0400] "GET /~alik/test/index.php HTTP/1.1" 200 210 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.7) Gecko/20060909

Разработка » Мегабаг с onload » 20-10-2006 18:01:14

Наткнулся на баг.
К примеру есть страничка, с таким куском кода:

Выделить код

Код:

<script language="">
function onload_() {
blablabla=1;
}
</script>
<body onload="onload_()">
<?php
session_start();
$_SESSION['time'] = time();
print_r($_SESSION);
?>
</body>

И другая страничка:

Выделить код

Код:

<?php
session_start();
print_r($_SESSION);
?>

В первом случае print_r выведет реальное время, а вот на второй страничке уже с небольшой дельтой.
Это происходит, потому что onload не понятно по каким причинам перезагружат страничку еще раз, в следствие чего переменные сессии генерятся еще раз.
И еще: при повторной загрузке первой страницы теряются переменные $_POST.

Считаю, что это очень большой баг.

ЗЫ: Сорри, не знал куда бросить тему. Искренне надеюсь, что модер кинет ее в нужный раздел.

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]