hirokawa                Sat Apr 20 19:54:50 2002 EDT

  Modified files:              
    /phpdoc/ja/reference/session        reference.xml 
  Log:
  update translation
  
Index: phpdoc/ja/reference/session/reference.xml
diff -u phpdoc/ja/reference/session/reference.xml:1.2 
phpdoc/ja/reference/session/reference.xml:1.3
--- phpdoc/ja/reference/session/reference.xml:1.2       Tue Apr 16 19:58:27 2002
+++ phpdoc/ja/reference/session/reference.xml   Sat Apr 20 19:54:50 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
  <reference id="ref.session">
   <title>セッション処理関数(session)</title>
   <titleabbrev>セッション</titleabbrev>
@@ -74,6 +74,7 @@
      <programlisting role="php">
 <![CDATA[
 <?php
+session_start();
 if (isset($HTTP_SESSION_VARS['count'])) {
    $HTTP_SESSION_VARS['count']++;
 }
@@ -99,6 +100,7 @@
      <programlisting role="php">
 <![CDATA[
 <?php
+session_start();
 // PHP 4.0.6以前の場合は$HTTP_SESSION_VARSを使用して下さい
 if (!isset($_SESSION['count'])) {
     $_SESSION['count'] = 0;
@@ -114,6 +116,7 @@
      <programlisting role="php">
 <![CDATA[
 <?php
+session_start();
 // PHP 4.0.6以前の場合は$HTTP_SESSION_VARSを使用して下さい
 unset($_SESSION['count']);
 
@@ -129,16 +132,30 @@
     
とが可能で、セッション変数は対応するグローバル変数として回復されま
     
す。PHPは、どのグローバル変数がセッション変数として登録されるのか
     
を知る必要があるため、ユーザは、変数をsession_register()関数で登録
-    
する必要があります。しかし、$HTTP_SESSION_VARS/$_SESSIONの場合は、
-    session_register()を使用する必要はありません。
+    する必要があります。しかし、
+    <varname>$HTTP_SESSION_VARS</varname>/<varname>$_SESSION</varname>
+    の場合は、session_register()を使用する必要はありません。
     <caution>
      <para>
-      
$HTTP_SESSION_VARS/$_SESSIONを使用する場合、セッションモジュール
-      の内部動作を知っているユーザ以外は、
+      <varname>$HTTP_SESSION_VARS</varname>/<varname>$_SESSION</varname>
+      を使用し、<link
+      linkend="ini.register-globals"><literal>register_globals</literal></link>
+      を無効とする場合、
       <function>session_register</function>,
       <function>session_is_registered</function>,
       <function>session_unregister</function>を使用しないで下さい。
      </para>
+     <para>
+      <link
+       linkend="ini.register-globals"><literal>register_globals</literal>
+      </link>を有効にしている場合は、
+       <function>session_unregister</function>を使用する必要があります。
+      
+これは、シリアル化されたセッションデータが戻される時にセッション
+      変数がグローバル変数として登録されるためです。
+      セキュリティ面と性能面の双方より<link
+       linkend="ini.register-globals"><literal>register_globals</literal></link>
+      を無効とすることが推奨されています。
+     </para>
     </caution>
     <example>
      <title>
@@ -166,8 +183,15 @@
     linkend="ini.track-vars"><literal>track_vars</literal></link>と
     <link
     linkend="ini.register-globals"><literal>register_globals</literal></link>
-    
が共に有効な場合、グローバル変数と$HTTP_SESSION_VARS/$_SESSIONエン
-    トリは同じ値へのリファレンスとなります。
+    が共に有効な場合、グローバル変数と
+    <varname>$HTTP_SESSION_VARS</varname>/<varname>$_SESSION</varname>
+    
+エントリは登録済みの変数の同じ値を参照することになります。
+   </para>
+   <para>
+    
+ユーザがセッション変数を登録する際にsession_register()を使用する場合、
+    <varname>$HTTP_SESSION_VARS</varname>/<varname>$_SESSION</varname>
+    
+は、セッションのストレージからロードされるまで(すなわち次のリクエ
+    ストまで)配列内にこれらの変数を有しません。
    </para>
    <para>
     
セッションIDの通知を行うためには次の二つの方法があります。
@@ -191,7 +215,9 @@
     セッションIDを直接URLに埋め込みます。
    </para>
    <para>
-    PHP 
は、<literal>--enable-trans-sid</literal>を付けてコンパイルされた
+    PHP は、
+    <link linkend="install.configure.enable-trans-sid">
+    <literal>--enable-trans-sid</literal></link>を付けてコンパイルされた
     場合にこの処理を透過的に行います。
     このオプションを有効にした場合、相対 URI 
はセッションIDを有するように
     自動的に変更されます。
@@ -201,8 +227,8 @@
     の形式または空の文字列です。
    </para>
    <para>
-    次の例は、変数の登録法および SID を用いて他のページに
-    正しくリンクする方法のデモです。
+    次の例は、変数の登録法および SID 
+を用いて他のページに正しくリンク
+    する方法のデモです。
     <example>
      <title>単一のユーザーに関するヒット数を数える</title>
      <programlisting role="php">
@@ -221,10 +247,11 @@
 
 <?php
 # 
ユーザーがクッキーを使用不可としている場合は、セッションIDを
-# 保持するために<?=SID> が必要です。
+# 保持するために<?php echo SID?> (short tagを有効としている場合は
+# <?=SID?>も使用可能です)が必要です。
 ?>
 
-続けるには、<A 
HREF="nextpage.php?<?=SID?>">ここをクリック</A>して下さい。
+続けるには、<A HREF="nextpage.php?<?php echo 
+SID?>">ここをクリック</A>して下さい。
 ]]>
      </programlisting>
     </example>
@@ -232,11 +259,11 @@
    <para>
     PHPのコンパイル時に <link linkend="install.configure.enable-trans-sid">
     <literal>--enable-trans-sid</literal></link>を指定した場合には、
-    <literal>&lt;?=SID?&gt;</literal> は必要ありません。
+    <literal>&lt;?php echo SID?&gt;</literal> は必要ありません。
    </para>
    <note>
     <para>
-     
相対URLでないものは、外部サイトを指していると仮定されSIDが追加
+     
+相対URLでないURLは、外部サイトを指していると仮定されSIDが追加
      
されません。これは、SIDを異なったサーバにもらすことはセキュリティ
      上のリスクとなるためです。
     </para>
@@ -267,6 +294,14 @@
        <literal>session.save_path</literal>のパスの深さが2より大きい場
        合、ガーベッジコレクションは行われません。
       </simpara>
+      <warning>
+       <para>
+        この設定を<filename>/tmp</filename> 
+(デフォルト)のようにどこか
+        
+らでも読み込み可能なディレクトリのままにしている場合、サーバ上
+        
+の他のユーザがこのディレクトリのファイルのリストを取得すること
+        
+により、セッションをハイジャックをすることが可能となります。
+       </para>
+      </warning>
      </listitem>
      <listitem>
       <simpara>


Reply via email to