Da ich an frühere Versionen von ThinkPHP gewöhnt bin, verwende ich direkt $_SESSION, um darauf zuzugreifen. Heute habe ich das Handbuch von ThinkPHP5 gelesen und festgestellt, dass die Verwendung auf diese Weise nicht sicher ist . ThinKPHP5 kapselt die Sitzung, was bei der Verwendung zumindest deutlich sicherer erscheint.
Sitzungseinstellungen
Wenn Sie Session betreiben möchten, müssen Sie die ThinkSession-Klasse in Think PHP5 verwenden
Das Codebeispiel lautet wie folgt:
namespace app\index\controller; use think\Controller; use think\Session; class Index extends Controller{ public function index() { return $this->fetch(); } public function save($name='') { Session::set('user_name',$name); $this->success('Session设置成功'); } }
Sitzungslesung
Der sicherste Weg, eine Sitzung zu lesen, ist die Verwendung der Sitzungsmethode der ThinkRequet-Klasse
Der Beispielcode lautet wie folgt:
namespace app\index\controller; use think\Request; class User { public function index(Request $request) { echo $request->session('user_name'); // 读取二维数组 echo $request->session('user.name'); } }
Die Verwendung dieser Methode ist nicht nur sicher, sondern ermöglicht Ihnen auch das Lesen von Sitzungsvariablen jeder Dimension.
Natürlich können Sie die Session-Klasse auch zum Lesen der Session verwenden, diese Methode unterstützt jedoch höchstens das Lesen zweidimensionaler Session-Variablen
Beispielcode:
namespace app\index\controller; use think\Session; class User{ public function index() { echo Session::get('user_name'); echo Session::get('user.name'); } }
Obwohl es etwas mühsam ist, ist es nicht praktisch, das globale Array $_SESSION direkt zum Speichern der Sitzungsvariablen zu verwenden, aber aus Sicherheitsgründen ist es einen Versuch wert.
Dieser Artikel wurde zuerst auf Dingqiu.com veröffentlicht. Bitte geben Sie beim Nachdruck die Quelle an.