2009-09-03 1 views
30

私はクッキーで遊んでいます。そして私はPHPSESSIDと呼ばれるどんなクッキーも持っていません。PHPSESSIDとは何ですか?

私はそれが必要ですか?私はそれを削除することはできますか?

「機能」とは何ですか?

if (count($_POST)) { 

setcookie("TestCookie", htmlspecialchars($_POST['val']), time()+3600); 
} 

print_r($_COOKIE); 

プリント:

Array 
(
    [TestCookie] => blabla 
    [PHPSESSID] => el4ukv0kqbvoirg7nkp4dncpk3 
) 
+2

これは、PHPが 'のsession_start()'によって生成されているCookieの使用だけで、デフォルトの識別子です。その名前を変更したい場合は、 'ini_set( 'session_name'、 'somethingElse')' – caw

+0

を使用してください。それはini_set( 'session.name'、 'somethingElse')ではありません。 (ドットに気づく)、session_start()の前に使用する必要があります。すべてのPHPページ。 (ログインページだけでなく) – Tarik

+0

ORを使用するsession_name( 'somethingElse'); (session_start()またはsession_register()が呼び出される前のすべてのページ) – Tarik

答えて

34

PHPは、セッションを追跡するために2つの方法のいずれかを使用します。あなたの場合のようにクッキーが有効になっている場合は、クッキーが使用されます。

クッキーが無効になっている場合は、URLを使用します。このを安全に行うことができますが、それは難しく、よく、よく、ではありません。たとえば、session fixation.

Googleについては、SEOのアドバイスがたくさんあります。従来の知恵は、あなたがクッキーを使用すべきですが、PHPはどちらの方法でもセッションを追跡します。

+179

私はそれをgoogledしました。これはGoogleが私を導いた場所です。 –

+1

セッションIDにURLを使用しないでください!それは危険です。 –

+7

@ダストイン・グラハム・ハハそうでしたので、しました。 – MJoraid

5

それはPHPで現在のセッションの識別子です。削除すると、セッション変数にアクセス/使用することができなくなります。私はそれを維持することをお勧めします。

0

自動セッションIDのphp.iniを確認してください。

あなたがそれを有効にした場合、あなたはあなたのクッキーにPHPSESSIDを持つことになります。

10

私が追加されます:
あなたは
は "PHPSESSID" は、あなたが、これはphp.iniの session.name

や機能session_name()を介して行うことができますPHP

使用している明らかに異なる名前を使用する必要があります

+11

ウェブの[80%](http://w3techs.com/technologies/history_overview/programming_language)はPHPを使用しているため、この情報は役に立たない。誰もこの情報に基づいてサーバーの欠陥を見つけることはできません。 – Kalzem

+17

これは、サーバーが現在実行している技術を特定する方法ですが、これは公開したい場合としたくない場合があります。 –

関連する問題