જો તમે “Last Login” પ્લગઈન ઇન્સ્ટોલ કરો છો અને અચાનક તમારી WordPress Users સ્ક્રીન વ્યવસ્થિત દેખાવા લાગે છે, તો તે વ્યવસ્થા તમને છેતરી રહી છે. તારીખો અધિકૃત લાગે છે. તમે તેને સોર્ટ કરી શકો છો. તે નક્કર તથ્યો જેવા લાગે છે. પરંતુ તે નથી. WordPress એ ક્યારેય નેટિવ (native) છેલ્લી લોગિન તારીખ સંગ્રહિત કરી નથી, અને તે કોલમમાં દરેક કિંમત પસંદગીયુક્ત યાદશક્તિનો એક અવશેષ છે.
એ ઇતિહાસ જે ક્યારેય હતો જ નહીં
WordPress ખાતાઓને એક સીધી સાદી users table માં રાખે છે. તે નામ, ઈમેલ, પાસવર્ડ હેશ અને રજીસ્ટ્રેશન તારીખો સંગ્રહિત કરે છે. કોઈએ છેલ્લે ક્યારે પ્રમાણિત (authenticate) કર્યું હતું તે રેકોર્ડ કરતું કોઈપણ ફિલ્ડ અહીં સ્પષ્ટપણે ગેરહાજર છે. આ હંમેશાથી આવું જ રહ્યું છે.
જ્યારે તમે આ ખામી પૂરી કરવા માટે પ્લગઈન ઇન્સ્ટોલ કરો છો, ત્યારે તે લોગિન પ્રક્રિયા સાથે જોડાય છે અને user metadata માં ટાઈમસ્ટેમ્પ લખે છે. આ આખી પદ્ધતિ છે. તે તમારા સર્વર લોગ્સમાં પાછળ જઈને તપાસ કરતું નથી અથવા અગાઉના સેશન્સને ફરીથી બનાવતું નથી. તે ફક્ત તમે તેને એક્ટિવેટ કરો તે ક્ષણથી જ દેખરેખ રાખવાનું શરૂ કરે છે.
એવી સાઇટની કલ્પના કરો જે પાંચ વર્ષથી ચાલી રહી છે. તે સમયગાળા દરમિયાન સેંકડો એડિટર્સ, સબ્સ્ક્રાઇબર્સ અને કોન્ટ્રાક્ટરોએ લોગિન કર્યું છે. તમે મંગળવારે બપોરે એક ટ્રેકિંગ પ્લગઈન ઇન્સ્ટોલ કરો છો. બુધવારે સવારે, એક સિનિયર એડિટર લોગિન કરે છે. પ્લગઈન સમય અને તારીખ રેકોર્ડ કરે છે. પરંતુ તમારું પોતાનું એડમિન એકાઉન્ટ કંઈ જ દર્શાવતું નથી, કારણ કે તમે ઇન્સ્ટોલેશન પછી લોગિન કર્યું નથી. 2021નું એક જૂનું ફ્રીલાન્સર એકાઉન્ટ પણ કંઈ જ દર્શાવતું નથી. આ કોલમ એવી રીતે દેખાડે છે કે તમારામાંથી કોઈએ ક્યારેય સાઇટનો ઉપયોગ કર્યો નથી. વાસ્તવમાં, રેકોર્ડિંગ પાસે કોઈ ભૂતકાળ નહોતો. તે ડેટાની ગેરહાજરીને ગેરહાજરીના પુરાવા તરીકે ગણે છે, જે એક્સેસ મેનેજ કરતી વખતે એક જોખમી ધારણા છે.
ત્રણ રીતે આ કોલમ તમને ગેરમાર્ગે દોરે છે
એકવાર પ્લગઈન ચાલુ થઈ જાય પછી, ભ્રમ ગેરહાજર ઇતિહાસમાંથી બદલાઈને ખોટી વર્તમાન-કાળની રિપોર્ટિંગ તરફ વળે છે. તેમાં ત્રણ ચોક્કસ છટકબારીઓ છે.
તે પ્રમાણીકરણ (authentication) ટ્રેક કરે છે, પ્રવૃત્તિ (activity) નહીં
જ્યારે વપરાશકર્તા WordPress લોગિન સ્ક્રીન પર “Remember Me” પસંદ કરે છે, ત્યારે બ્રાઉઝરને એક authentication cookie મળે છે જે ચૌદ દિવસ સુધી માન્ય રહી શકે છે. તે સમયગાળા દરમિયાન, વપરાશકર્તા પાસવર્ડ ફરીથી ટાઈપ કર્યા વિના ડેશબોર્ડ ખોલી શકે છે, પોસ્ટ પ્રકાશિત કરી શકે છે, કોમેન્ટ્સનું મોડરેશન કરી શકે છે અને સેટિંગ્સ અપડેટ કરી શકે છે. તેમનું સેશન જીવંત અને સક્રિય હોય છે.
જોકે, મોટાભાગના last-login પ્લગઈન્સ wp_login એક્શન માટે રાહ જુએ છે. તે એક્શન ત્યારે જ ફાયર થાય છે જ્યારે ફોર્મ દ્વારા ક્રેડેન્શિયલ્સ સબમિટ કરવામાં આવે છે, જ્યારે કોઈ હાલનું સેશન રિફ્રેશ થાય ત્યારે નહીં. તેથી તમારો એડિટર સોમવારે સવારે લોગિન કરી શકે છે, બ્રાઉઝર સેશન જીવંત રાખી શકે છે, અને સતત બે અઠવાડિયા સુધી દરરોજ એડમિન એરિયામાં કામ કરી શકે છે. કોલમ હજુ પણ ચૌદ દિવસ જૂની બતાવશે. તે ટાઈમસ્ટેમ્પ પર આધારિત સુરક્ષા સમીક્ષા એકાઉન્ટને નિષ્ક્રિય (dormant) તરીકે દર્શાવશે. તે બિલકુલ નિષ્ક્રિય નથી. તમે એ જોઈ રહ્યા છો કે પાસવર્ડ ક્યારે ટાઈપ કરવામાં આવ્યો હતો, નહીં કે કોઈ વ્યક્તિ છેલ્લે તમારા ઘરમાં ક્યારે હતી.
તે ઓડિટ દરમિયાન નિષ્ક્રિય એકાઉન્ટ્સને છુપાવે છે
મોટાભાગના પ્લગઈન્સ users table ને usermeta table સાથે જોડીને સોર્ટ કરી શકાય તેવી કોલમ અમલમાં મૂકે છે. માળખાગત રીતે, આ યોગ્ય છે. વ્યવહારિક રીતે, તે વિઝિબિલિટી બગ (visibility bug) બનાવે છે.
જો તમે પ્લગઈન એક્ટિવેટ કર્યા પછી વપરાશકર્તાએ ક્યારેય પ્રમાણિત કર્યું ન હોય, તો usermeta માં તે કી (key) માટે કોઈ રો (row) હોતી નથી. જ્યારે તમે તમારા સૌથી જૂના એકાઉન્ટ્સ શોધવા માટે “Last Login” દ્વારા યુઝર લિસ્ટને સોર્ટ કરો છો, ત્યારે અન્ડરલાઇંગ ક્વેરી (underlying query) ઘણીવાર એવા વપરાશકર્તાઓને બાકાત રાખે છે જેમનામાં metadata નથી હોતું. તેઓ સોર્ટ કરેલા વ્યુમાંથી સંપૂર્ણપણે બહાર નીકળી જાય છે.
તમે ક્લીનઅપ ઓડિટ કરો છો. તમે descending સોર્ટ કરો છો અને વધતી જતી જૂની તારીખો સાથે ચાલીસ વપરાશકર્તાઓ જુઓ છો. તમે આત્મવિશ્વાસ સાથે ડિસેબલ કરવા માટે એક જૂથને ઓળખો છો. પરંતુ તમે તે દસ કોન્ટ્રાક્ટર એકાઉન્ટ્સ ક્યારેય જોયા નથી જે આઠ મહિનાથી શાંત છે કારણ કે તેઓએ ક્યારેય ટ્રેકરને ટ્રિગર કર્યું નથી. તે એકાઉન્ટ્સ સોર્ટ કરેલી યાદીમાં દેખાતા નથી, તેથી તેઓ તમારા નિષ્કર્ષમાં પણ દેખાતા નથી. તમારું ઓડિટ શાબ્દિક રીતે તેના પોતાના તારણોને જ ભૂંસી નાખે છે. મેમ્બરશિપ સાઇટ્સ, ઈ-લર્નિંગ પ્લેટફોર્મ્સ અથવા મલ્ટીસાઇટ નેટવર્ક્સ પર, આ ખાસ કરીને ચિંતાજનક છે કારણ કે નિષ્ક્રિય એકાઉન્ટ્સ પર જ હુમલાખોરો અવારનવાર સૌપ્રથમ નિશાન સાધે છે.
ડેટા ત્યારે જ અસ્તિત્વમાં હોય છે જ્યારે તે નકામો હોય છે
અહીં એક શાંત વિરોધાભાસ છે. WordPress core યુઝર સેશન્સ વિશે કંઈક જાણે છે. જ્યારે કોઈ લોગિન કરે છે, ત્યારે સિસ્ટમ સેશન ટોકન્સ જનરેટ કરે છે અને તેને user metadata માં સંગ્રહિત કરે છે. એડમિનિસ્ટ્રેટર સક્રિય સેશન્સ જોઈ શકે છે અને તેને સમાપ્ત કરી શકે છે. પરંતુ તે માહિતી ફક્ત લાઈવ (live) હોય છે. જે ક્ષણે વપરાશકર્તા લોગઆઉટ પર ક્લિક કરે છે, અથવા સેશન આપમેળે સમાપ્ત થાય છે, WordPress ટોકન ડિલીટ કરી દે છે. રેકોર્ડ અદૃશ્ય થઈ જાય છે.
તમે અત્યારે કોણ ઓનલાઇન છે તે જોઈ શકો છો. તમે ગઈકાલે સવારે દસ વાગ્યે કોણ ઓનલાઇન હતું તે સરળતાથી જોઈ શકતા નથી. આ આર્કિટેક્ચર રિયલ-ટાઇમ સેશન મેનેજમેન્ટ માટે બનાવવામાં આવ્યું હતું, ઐતિહાસિક...
