Как может большой трафик вызвать & quot; Идентификатор сеанса слишком длинный или содержит недопустимые символы & quot;

На моем веб-сайте, посвященном виртуальному хостингу на HostGator, несколько дней назад я начал получать ошибку 500 во время интенсивного трафика (249 посещений, 148 429 обращений, 141 829 страниц, 723,01 МБ пропускной способности в тот день — многие люди обращались к запросам MySQL. хостинг, HostGator допускает только 25 запущенных процессов одновременно). Как только трафик уменьшился, ошибки исчезли.

Но когда я получил доступ к журналам ошибок того времени и дня, я обнаружил, что это было написано много раз:

[12-Oct-2014 16:37:16] PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in /home/amalthea/public_html/tkq/q0.php on line 2
[12-Oct-2014 16:37:16] PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent by (output started at /home/amalthea/public_html/tkq/q0.php:2) in /home/amalthea/public_html/tkq/q0.php on line 2
[12-Oct-2014 16:37:16] PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /home/amalthea/public_html/tkq/q0.php:2) in /home/amalthea/public_html/tkq/q0.php on line 2
[12-Oct-2014 16:37:16] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/amalthea/public_html/tkq/q0.php:2) in /home/amalthea/public_html/tkq/user.cookies.php on line 5

Что я не понимаю, так это то, как ошибка «Идентификатор сеанса слишком длинная или содержит недопустимые символы» была вызвана интенсивным трафиком? Какое отношение имеет интенсивный трафик к символам идентификатора сессии?

В настоящее время сайт работает нормально. Я также посетил этот вопрос по Stackoverflow, но это не объясняет ошибку, оно только дает обходной путь. Пожалуйста, объясните, почему я получил ошибку ТОЛЬКО при интенсивном движении. Я хочу убедиться, что мой код правильный.

Ниже показано, как все мои PHP-страницы начинаются на сайте:

<?php
session_start();
require_once("user.cookies.php");

$username = $_SESSION["SESS_USERNAME"];
$id= $_SESSION["SESS_USERID"];

А вот и user.cookies.php

<?php

//redirect function
function returnheader($location){
$returnheader = header("location: $location");
return $returnheader;
}

if(!strlen($_SESSION["SESS_USERNAME"]) ){

//redirect
returnheader("login.php");
}

?>

0

Решение

Как уже упоминалось в этом вопрос

(…) cookie, который связывает вас с сгенерированным идентификатором сессии
сторона клиента. Если этот файл cookie изменен на недопустимый формат (кто-то
пытаюсь что-то использовать) PHP это заметит.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]