זיי זענען אַן גרינג וועג צו אָנהאַלטן דאַטן פֿאַר די קראַנט באַניצער. דער טוטאָריאַל וועט געבן איר די באַסיקס פון ארבעטן מיט סעשאַנז אין Laravel.
אין לאַראַוועל, אַ סעסיע איז אַ וועג צו קראָם אינפֿאָרמאַציע, צו ריכטיק שעפּן ריקוועס געמאכט דורך אַ באַניצער. ווען אַ באַניצער סטאַרץ אַ לאַראַוועל אַפּלאַקיישאַן, אַ סעסיע איז אויטאָמאַטיש סטאַרטעד פֿאַר דעם באַניצער. סעסיע דאַטן זענען סטאָרד אויף די סערווער און אַ קליין קיכל מיט אַ יינציק ידענטיפיער איז געשיקט צו דער באַניצער 'ס בלעטערער צו ידענטיפיצירן די סעסיע.
איר קענען נוצן סעסיע צו קראָם דאַטן וואָס איר ווילן צו נוצן אויף קייפל בלעטער אָדער ריקוועס. פֿאַר בייַשפּיל, איר קען נוצן די סעסיע פֿאַר באַניצער אָטענטאַקיישאַן אָדער קראָם אנדערע אינפֿאָרמאַציע וואָס איר ווילן צו נוצן בעשאַס די סעסיע אויף דיין אַפּלאַקיישאַן.
צו נוצן סעשאַנז אין Laravel, איר מוזן ערשטער געבן זיי אין דער טעקע config/session.php
פון קאַנפיגיעריישאַן. אין דעם טעקע עס איז מעגלעך צו שטעלן קאַנפיגיעריישאַן פּאַראַמעטערס שייַכות צו סעשאַנז. פֿאַר בייַשפּיל די געדויער פון די סעסיע, דער שאָפער צו נוצן פֿאַר סטאָרינג די סעסיע דאַטן און די סטאָרידזש אָרט פֿאַר די סעסיע דאַטן.
ונטער איז אַ בייַשפּיל פון אַ טעקע sessions.php
מיט סעסיע געדויער 120 סעקונדעס, נוצן פון טעקעס סטאָרד אין די וועגווייַזער framework/sessions
:
<?php
use Illuminate\Support\Str;
return [
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => env('SESSION_CONNECTION', null),
'table' => 'sessions',
'store' => env('SESSION_STORE', null),
'lottery' => [2, 100],
'cookie' => env(
'SESSION_COOKIE',
Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
),
'path' => '/',
'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE'),
'http_only' => true,
'same_site' => 'lax',
];
איר קענען אויך קאַנפיגיער די סעסיע ניצן סוויווע וועריאַבאַלז אין דער טעקע .env
. פֿאַר בייַשפּיל, צו נוצן די דאַטאַבייס סעסיע שאָפער און קראָם סעסיע דאַטן אין אַ סעסיע טיש, מיט MySQL-טיפּ דב, איר קענען שטעלן די פאלגענדע סוויווע וועריאַבאַלז:
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
עס זענען דריי וועגן צו אַרבעטן מיט סעסיע דאַטן אין Laravel:
helper
פון global session
;Request instance
. אין אַלע די קאַסעס, די דאַטן איר קראָם אין דער סעסיע וועט זיין בארעכטיגט אין סאַבסאַקוואַנט ריקוועס געמאכט דורך דער זעלביקער באַניצער ביז די סעסיע יקספּייערז אָדער מאַניואַלי חרובֿ.
אין Laravel, ניצן די פֿונקציע Global Session Helper
עס איז אַ באַקוועם וועג צו אַקסעס די סעסיע באַדינונגס צוגעשטעלט דורך די פריימווערק. עס אַלאַוז איר צו קראָם און צוריקקריגן דאַטן פון די סעסיע אין דיין אַפּלאַקיישאַן. דאָ איז אַ בייַשפּיל פון ווי צו נוצן די session helper
:
// Store data in the session
session(['key' => 'value']);
// Retrieve data from the session
$value = session('key');
// Remove data from the session
session()->forget('key');
// Clearing the Entire Session
session()->flush();
איר קענען אויך פאָרן אַ פּרי ווערטdefiניט ווי די רגע אַרגומענט צו די פֿונקציע session
, וואָס וועט זיין אומגעקערט אויב די ספּעסיפיעד שליסל איז נישט געפֿונען אין דער סעסיע:
$value = session('key', 'default');
Session Request
אין לאַראַוועל, אַ סעסיע בעטן בייַשפּיל רעפערס צו אַ כייפעץ וואָס רעפּראַזענץ אַ הטטפּ בעטן און כּולל אינפֿאָרמאַציע וועגן די בעטן, אַזאַ ווי די בעטן אופֿן (GET, POST, PUT, עטק.), בעטן URL, כעדערז פון די בעטן און די בעטן גוף. . עס אויך כּולל פאַרשידן מעטהאָדס וואָס קענען ווערן גענוצט צו צוריקקריגן און מאַניפּולירן די אינפֿאָרמאַציע.
טיפּיקאַללי איר אַקסעס די בייַשפּיל פון די Session Request
דורך די וועריאַבאַל $request
אין אַ לאַראַוועל אַפּלאַקיישאַן. פֿאַר בייַשפּיל, אַ סעסיע קענען זיין אַקסעסט דורך אַ בעטן בייַשפּיל ניצן די העלפּער פונקציע session()
.
use Illuminate\Http\Request;
class ExampleController extends Controller
{
public function example(Request $request)
{
// Store data in the session using the put function
$request->session()->put('key', 'value');
// Retrieve data from the session using the get function
$value = $request->session()->get('key');
// Check if a value exists in the session using the has function:
if ($request->session()->has('key')) {
// The key exists in the session.
}
// To determine if a value exists in the session, even if its value is null:
if ($request->session()->exists('users')) {
// The value exists in the session.
}
// Remove data from the session using the forget function
$request->session()->forget('key');
}
}
אין דעם בייַשפּיל, די בייַטעוודיק $request
עס איז אַ בייַשפּיל פון די קלאַס Illuminate\Http\Request
, וואָס רעפּראַזענץ די קראַנט הטטפּ בעטן. די פֿונקציע session
בעטן בייַשפּיל קערט אַ בייַשפּיל פון די קלאַס Illuminate\Session\Store
, וואָס גיט פאַרשידן פאַנגקשאַנז פֿאַר ארבעטן מיט די סעסיע.
Ercole Palmeri
Coveware דורך Veeam וועט פאָרזעצן צו צושטעלן ענטפער באַדינונגס פֿאַר סייבער יקסטאָרשאַן אינצידענט. קאָוועוואַרע וועט פאָרשלאָגן פאָרענסיקס און רימעדייישאַן קייפּאַבילאַטיז ...
פּרידיקטיוו וישאַלט איז רעוואַלושאַנייזינג די ייל & גאַז סעקטאָר, מיט אַן ינאַווייטיוו און פּראָואַקטיוו צוגאַנג צו פאַבריק פאַרוואַלטונג.…
די UK CMA האט ארויס אַ ווארענונג וועגן ביג טעק ס נאַטור אין די קינסטלעך סייכל מאַרק. דאָרט…
די "קאַסע גרין" דעקרעט, פארמולירט דורך די אייראפעישע יוניאַן צו פאַרבעסערן די ענערגיע עפעקטיווקייַט פון בנינים, האט פארענדיקט זיין לעגיסלאַטיווע פּראָצעס מיט ...