-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathsession-destroy.xml
144 lines (134 loc) · 4.72 KB
/
session-destroy.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 682510e91d1f19fb59d2f7aef6ab370e8af842a1 Maintainer: nilgun Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.session-destroy">
<refnamediv>
<refname>session_destroy</refname>
<refpurpose>Bir oturumla ilişkilendirilmiş tüm veriyi yokeder</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>session_destroy</methodname>
<void/>
</methodsynopsis>
<simpara>
<function>session_destroy</function> işlevi geçerli oturumla
ilişkilendirilmiş tüm veriyi yok eder. Oturumla ilişkilendirilmiş küresel
değişkenleri ve oturum çerezini tanımsız yapmaz. Oturum değişkenlerini
tekrar kullanmak için <function>session_start</function> çağrısı
yapılmalıdır.
</simpara>
<note>
<simpara>
Normal koddan <function>session_destroy</function> çağrısı gerekmez.
Oturum verilerini yok etmek yerine $ _SESSION dizisini temizleyin.
</simpara>
</note>
<para>
Kullanıcı çıktısını günlüğe kaydetmek gibi bir amaçla oturumu topyekün
öldürmek için oturum kimliğinin de tanımsız yapılması gerekir. Eğer oturum
kimliğini yaymak için bir çerez kullanılmışsa (öntanımlı olarak böyledir),
oturum çerezinin de silinmesi gerekir. Bunun için
<function>setcookie</function> kullanılabilir.
</para>
<para>
<link linkend="ini.session.use-strict-mode">session.use_strict_mode</link>
etkinleştirildiğinde, eski oturum kimliği çerezini kaldırmanız gerekmez
çünkü oturum modülü, oturum kimliği ile ilişkilendirilmiş veri olmadığında
oturum kimliği çerezini kabul etmez ve yeni oturum kimliği çerezi tanımlar.
Tüm siteler için <literal>session.use_strict_mode</literal> yönergesinin
etkinleştirilmesi önerilir.
</para>
<warning>
<para>
Anında oturum silme istenmeyen sonuçlara sebep olabilir. Eşzamanlı istekler
olduğunda, diğer bağlantılarda ani oturum verisi kaybı görülebilir.
Örneğin, JavaScript'ten ve/veya URL bağlantılarından gelen istekler.
</para>
<para>
Geçerli oturum modülü boş oturum kimliği çerezini kabul etmese de, oturumun
anında silinmesi, istemcinin (tarayıcı) yarış durumu yan etkisi nedeniyle,
gereksiz yere çok sayıda boş oturum kimliği çerezi oluşturmasına sebep
olabilir.
</para>
<para>
Bunlardan kaçınmak için, silme zaman damgasını $ _SESSION dizisine atamalı
ve bu zaman damgasından sonraki erişimi reddetmeli veya uygulamanızın
eşzamanlı istekleri olmadığından emin olmalısınız. Bu aynı zamanda
<function>session_regenerate_id</function> için de geçerlidir.
</para>
</warning>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>- Bir oturumun <varname>$_SESSION</varname> ile yokedilmesi</title>
<programlisting role="php">
<![CDATA[
<?php
// Oturumu ilklendirelim.
// session_name("birisim") kullanacaksanız tam sırasıdır!
session_start();
// Oturum değişkenlerinin tamamını tanımsız yapalım.
$_SESSION = array();
// Oturum öldürülmek istenirse oturum çerezinin de silinmesi gerekir.
// Dikkat: Bu sadece oturum verisini değil, oturumu da yok edecektir!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// Son olarak oturumu yok ediyoruz.
session_destroy();
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="ini.session.use-strict-mode">session.use_strict_mode</link></member>
<member><function>session_reset</function></member>
<member><function>session_regenerate_id</function></member>
<member><function>unset</function></member>
<member><function>setcookie</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->