/ /大量のトラフィックが「セッションIDが長すぎるか、または不正な文字を含んでいる」原因となる可能性がある - php、mysql、セッション、cookie、エラーログ

大量のトラフィックが「セッションIDが長すぎるか、不正な文字を含む」 - php、mysql、session、cookies、error-log

私のWebサイトではHostGator上の共有ホスティングについて当日は、トラフィックが多いときにエラー500を受け取りました(249訪問、148,429ヒット、141,829ページ、723.01 MB) - 共有ホスティングでは、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

理解していないのは、「セッションIDが長すぎるか、または不正な文字が含まれています」というエラーがトラフィックの多さに起因していたということです。

現在、サイトは問題なく機能しています。私も訪れました 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");
}

?>

回答:

回答№1は0

このように 質問

(...)生成されたセッションIDにあなたをリンクさせるクッキーは クライアント側。そのクッキーが無効なフォーマットに変更された場合(誰かが 何かを悪用しようとすると、PHPがそれに気付くでしょう。