Stilly

Stilly

بېكەت باشلىقى

يازمىلىرى
ئەگەشكۈچىلىرى
ئەگەشكەنلىرى
74
32
0

php دىكى Session ۋە Cookie ھەققىدە (1)

ئادەتتە بىز php پىروگراممېرلار Session ۋە Cookie  لار بىلەن كۆپ ئۇچرىشىمىز.بەلكىم ئارىمىزدا شۇنچە يىل php پىروگمىسى يېزىۋاتقانلارمۇ Session ۋە Cookie لارنىڭ مۇناسىۋىتى ۋە پەرقى توغۇرلۇق ئىنىق چۈشەنچىسى بولىشى ناتايىن .ئەمدى بۇ يازمامدا مۇشۇ توغۇرلۇق ئۆزۈمنىڭ چۈشەنچىسى ۋە ئىىزدىنىشلىرىمنى ئورتاقلىشىمەن.


1.  Session ۋە Cookie زادى نىمە ؟


ئاۋۋال HTTP دىن كىلەيلى.HTTPنى ئاددىيلا چۈشەنسەك،HTTP بولسا WEB مۇلازىمىتېرى ۋە زىيارەتچى (تور كۆرگۈچ) ئىككى نۇقتا ئارىسىدىكى ئالاقىنى ئىشقا ئاشۇرۇدىغان بىر خىل كېلىشىمدىن ئىبارەت.HTTP بىر ھالەتسىز (无状态)،ئۈزلۈكسىز (持久)بولماسلىقتەك ئالاھىدىلىكلىرى بار بولۇپلا قالماستىن يەنە HTTP تەلەپلىرىگە قارىتا ھىچقانداق قوغداش مەشخۇلاتلىرىنى قىلمايدۇ.

مۇنداقلا ئىيىتقاندا HTTP ئىچكى قىسىمدا ھەر بىر قىتىملىق تەلەپ (请求) نى ئايرىم ئايرىم بىر تەرەپ قىلىدىغان بولغاچ ئوخشاش بىر زىيارەتچىنىڭ بىرنەچچە قېتىملىق مەشخۇلاتىنى بىر نەچچە قېتىملىق تەلەپ قاتارىدا بىر تەرەپ قىلىدۇ.گەرچە زىيارەتچى ئوخشاش بولسىمۇ لىكىن HTTP بۇنى پەرق ئېتەلمەيدۇ دىگەن گەپ.

ئۇنداقتا مەسىلە كەلدى،ئادەتتە بىز مۇنبەرلەر ياكى سودا بېكەتلىرىنى زىيارەت قىلىپ مەشخۇلات قىلغاندا تۇنجى قېتىم كىرگەندىن كىيىن ،بىز مەيلى مۇشۇ بېكەتتىكى قايسى بەتنى زىيارەت قىلىشىمىزدىن قەتئىي نەزەر ،مۇلازىمىتېر تەرەپ ئىزچىل ھالدا زىيارەتچى (بىز) نىڭ كىملىكىنى بىلىپ تۇرىدۇ.بۇ نىمىش ؟

ئەمدى بۇ يەردە HTTP نىڭ يەنە بىر ئۇقۇمى ئوتتۇرىغا چىقىدۇ ،يەنى  زىيارەتچىنى ئىز قوغلاش (会话控制).بۇ قانداق ئۇقۇم دىگەندە ،مەلۇم بىر ئاچقۇچقا تايىنىپ تۇرۇپ ھەرقايسى تەلەپلەر ئارىسىدىكى مۇناسىۋەتنى بىر بىرىگە باشلاشنى ئىشقا ئاشۇرىدۇ.ئۇنداقتا بۇ يەردىكى ئاچقۇچ نىمە ؟بۇ يەردىكى ئاچقۇچ دەل بىزنىڭ بۇ تېمىمىزدا سۆزلىمەكچى بولغان Session ۋە Cookie دۇر.php دىكى Session ۋە Cookie دەل HTTP نىڭ ھالەتسىز (无状态)،ئۈزلۈكسىز (持久)بولماسلىقتەك مەسىلىلىرىنى ھەل قىلىدىغان مېخانىزىمدىن ئېبارەت.


2. Session ۋە Cookie نىڭ  پەرقى


ئوخشاشلىقى : ھەر ئىككىلسى HTTP نىڭ ھالەتسىز (无状态)،ئۈزلۈكسىز (持久)بولماسلىقتەك مەسىلىلىرىنى ھەل قىلىدىغان مېخانىزىمدىن ئېبارەت.ئۇچۇر ساقلاش ،ئوقۇش ،ئۆزئارا مۇناسىۋەت ئورنىتىش قاتارلىق جەھەتلەردە ئوخشىشىدۇ.

ئوخشىماسلىقى : ئاددىيلا ئىيتقاندا Cookie ئۇچۇرىلىرى زىيارەتچى كومپىيوتېرىغا  ساقلىىنىدۇ.Session ئۇچۇرلىرى WEB مۇلازىمىتېرىغا ساقلىنىدۇ.ئاندىن يەنە Session نىڭ بېخەتەرلىكى Cookie قارىغاندا تېخىمۇ يۇقىرى بولىدۇ.زادى قانداق يۇقىرى؟بۇنى يەنە ئىزدىنىپ كۆرەيلى.


Session ئۇچۇرلىرى ئادەتتە [key]=>[value]ھالىتىدە ساقلىىنىدۇ.بۇنىڭ ئىچىدىكى [key] زىيارەتچى كومپىيوتېرىدا،[value] مۇلازىمىتېر تەرەپتە ساقلىنىدۇ.Session  ئىشلىتىلگەن چاغدا زىيارەتچى تەرەپ كومپىوتېرىدىكى [key] غا ئاساسەن مۇلازىمىتېردىكى ماس [value] بىلەن تەھقىقلەش ئارقىلىق زىيارەتچىنى ئىز قوغلاش (会话控制) مەقسىتىگە يىتىدۇ.مۇشۇ ئالاھىدىلىكى Cookie قارىغاندا بىخەتەرلىكىنىڭ يۇقىرى بولىشىنىڭ بىر نامايەندىسى.


Cookie نى ساقلاشتا ئادەتتە زىيارەتچى (تور كۆرگۈچ) گە ياكى يەرلىكتىكى قاتتىق دىسكىغا ساقلاشقا بولىدۇ.تور كۆرگۈچكە ساقلىغاندا تور كۆرگۈچ تاقالغان ھامان كۈچتىن قالىدۇ،قاتتىق دىسكىغا ساقلىغاندا پەقەت Cookie نىڭ ئۈنۈملۈك ۋاقتى ئۆتۈپ كەتمىگەنلا بولسا تەكرار ئىشلىتىشكە بولىدۇ.


3. Session ۋە Cookie نىڭ  مۇناسىۋىتى

ئادەتتە Session نى Cookie غا يانداشتۇرۇپ ئىشلەتكەن ۋاقتىمىزدا Session نىڭ [key] سى يەنى sessionid سى Cookie دا ساقلىنىدۇ.ئوخشاش تىپتىكى ،ئوخشاش يادرودىكى تور كۆرگۈچلەردە  cookie ئورتاق ئىشلىتىلىدۇ.

كۆپىىنچە ئەھۋالدا Session بىلەن Cookie نى ماسلاشتۇرۇپ ئىشلىتىمىز،لىكىن بۇنداق قىلغانلىق Session چوقۇم Cookie غا تاينىدۇ دىگەنلىك ئەمەس.php سۈكۈتتىكى ھالدا Session نى Cookie  تاياندۇرۇپ ئىشلىتىدۇ خالاس.ناۋادا زىيارەتچى Cookie نى چەكلەپ قويغان ئەھۋال ئاستىدا بىز Session نى URL ياكى ساندان ئارقىلىق ھەر قايسى بەتلەر ئارا ئۇزاتساق بولىدۇ.ئادەتتە Session نى ساندانغا ساقلاشمۇ بىخەتەرلىكنى تېخىمۇ يۇقىرى كۆتۈرىدىغان بىر چارىدۇر.


1ئەزا بۇ تېمىنى ياقتۇردى
A13L1M17