మీరు ఒక “Last Login” ప్లగిన్ను ఇన్స్టాల్ చేసినప్పుడు మరియు అకస్మాత్తుగా మీ WordPress Users స్క్రీన్ క్రమబద్ధంగా కనిపిస్తే, ఆ క్రమబద్ధత మిమ్మల్ని మోసం చేస్తోందని అర్థం. ఆ తేదీలు అధికారికంగా కనిపిస్తాయి. మీరు వాటిని సార్ట్ (sort) చేయవచ్చు. అవి ఖచ్చితమైన నిజాలుగా కనిపిస్తాయి. కానీ అవి నిజం కావు. WordPress ఎప్పుడూ నేటివ్ లాస్ట్-లాగిన్ తేదీని నిల్వ చేయలేదు, మరియు ఆ కాలమ్లోని ప్రతి విలువ ఎంపిక చేసిన జ్ఞాపకశక్తి యొక్క ఫలితం మాత్రమే.
ఎప్పుడూ లేని చరిత్ర
WordPress ఖాతాలను ఒక సరళమైన users tableలో ఉంచుతుంది. ఇది పేర్లు, ఈమెయిల్స్, పాస్వర్డ్ హాష్లు మరియు రిజిస్ట్రేషన్ తేదీలను నిల్వ చేస్తుంది. ఎవరైనా చివరిసారిగా ఎప్పుడు లాగిన్ అయ్యారో (authenticated) రికార్డ్ చేసే ఫీల్డ్ మాత్రం స్పష్టంగా లోపించింది. ఇది ఎప్పుడూ ఇలాగే ఉంది.
ఈ లోపాన్ని పూరించడానికి మీరు ఒక ప్లగిన్ను ఇన్స్టాల్ చేసినప్పుడు, అది లాగిన్ ప్రక్రియలోకి ప్రవేశించి (hooks into), యూజర్ మెటాడేటాకు ఒక టైమ్స్టాంప్ను రాస్తుంది. మొత్తం మెకానిజం ఇదే. ఇది మీ సర్వర్ లాగ్లను వెనక్కి వెతికి పాత సెషన్లను పునర్నిర్మించదు. మీరు దానిని యాక్టివేట్ చేసిన క్షణం నుండి అది కేవలం గమనించడం ప్రారంభిస్తుంది.
ఐదేళ్లుగా నడుస్తున్న ఒక సైట్ను ఊహించుకోండి. ఆ కాలంలో వందలాది ఎడిటర్లు, సబ్స్క్రైబర్లు మరియు కాంట్రాక్టర్లు లాగిన్ అయ్యి ఉంటారు. మీరు ఒక మంగళవారం మధ్యాహ్నం ట్రాకింగ్ ప్లగిన్ను ఇన్స్టాల్ చేస్తారు. బుధవారం ఉదయం, ఒక సీనియర్ ఎడిటర్ లాగిన్ అవుతారు. ప్లగిన్ ఆ సమయాన్ని మరియు తేదీని రికార్డ్ చేస్తుంది. కానీ మీ స్వంత అడ్మిన్ ఖాతాలో ఏమీ కనిపించదు, ఎందుకంటే మీరు ఇన్స్టాల్ చేసినప్పటి నుండి లాగిన్ కాలేదు. 2021 నాటి పాత ఫ్రీలాన్సర్ ఖాతాలో కూడా ఏమీ కనిపించదు. ఆ కాలమ్ చూస్తుంటే మీ ఇద్దరిలో ఎవరూ సైట్ను తాకలేదని అనిపిస్తుంది. వాస్తవానికి, ఆ రికార్డింగ్కు గతమే లేదు. డేటా లేకపోవడాన్ని, ఆ వినియోగదారుడు అసలు లేడు అనే నిదర్శనంగా భావించడం అనేది, మీరు యాక్సెస్ను నిర్వహిస్తున్నప్పుడు ఒక ప్రమాదకరమైన ఊహ.
ఆ కాలమ్ మిమ్మల్ని తప్పుదారి పట్టించే మూడు మార్గాలు
ప్లగిన్ రన్ అవ్వడం ప్రారంభించాక, ఆ భ్రమ లోపించిన చరిత్ర నుండి తప్పుగా రిపోర్ట్ చేసే ప్రస్తుత కాలానికి మారుతుంది. ఇందులో మూడు నిర్దిష్టమైన ఉచ్చులు ఉన్నాయి.
ఇది అథెంటికేషన్ను ట్రాక్ చేస్తుంది, యాక్టివిటీని కాదు
WordPress లాగిన్ స్క్రీన్పై యూజర్ “Remember Me”ని ఎంచుకున్నప్పుడు, బ్రౌజర్ పద్నాలుగు రోజుల వరకు చెల్లుబాటు అయ్యే ఒక అథెంటికేషన్ కుక్కీని అందుకుంటుంది. ఆ సమయంలో, యూజర్ పాస్వర్డ్ను మళ్ళీ టైప్ చేయకుండానే డ్యాష్బోర్డ్ను తెరవవచ్చు, పోస్ట్లను ప్రచురించవచ్చు, కామెంట్లను మోడరేట్ చేయవచ్చు మరియు సెట్టింగ్లను అప్డేట్ చేయవచ్చు. వారి సెషన్ సజీవంగా మరియు యాక్టివ్గా ఉంటుంది.
అయితే, చాలా last-login ప్లగిన్లు wp_login యాక్షన్ కోసం వేచి ఉంటాయి. ఆ యాక్షన్ ఫారమ్ ద్వారా క్రెడెన్షియల్స్ సమర్పించినప్పుడు మాత్రమే జరుగుతుంది, ఇప్పటికే ఉన్న సెషన్ రిఫ్రెష్ అయినప్పుడు కాదు. కాబట్టి మీ ఎడిటర్ సోమవారం ఉదయం లాగిన్ అయ్యి, బ్రౌజర్ సెషన్ను సజీవంగా ఉంచి, ప్రతిరోజూ రెండు వారాల పాటు అడ్మిన్ ఏరియాలో పని చేయవచ్చు. కాలమ్ మాత్రం ఇంకా పద్నాలుగు రోజుల క్రితం అని చూపిస్తుంది. ఆ టైమ్స్టాంప్ ఆధారంగా చేసే సెక్యూరిటీ రివ్యూ ఆ ఖాతాను నిష్క్రియంగా (dormant) గుర్తిస్తుంది. కానీ అది అస్సలు నిష్క్రియంగా లేదు. మీరు పాస్వర్డ్ ఎప్పుడు టైప్ చేశారో చూస్తున్నారు తప్ప, ఒక మనిషి చివరిసారిగా మీ సైట్లో ఎప్పుడు ఉన్నారో చూడటం లేదు.
ఆడిట్ల సమయంలో ఇది నిష్క్రియ ఖాతాలను దాచిపెడుతుంది
చాలా ప్లగిన్లు users tableను usermeta tableతో జాయిన్ చేయడం ద్వారా సార్టబుల్ కాలమ్ను అమలు చేస్తాయి. నిర్మాణాత్మకంగా ఇది అర్థవంతంగా అనిపించవచ్చు, కానీ ఆచరణలో ఇది ఒక విజిబిలిటీ బగ్ (visibility bug)ను సృష్టిస్తుంది.
మీరు ప్లగిన్ను యాక్టివేట్ చేసినప్పటి నుండి ఒక యూజర్ ఎప్పుడూ అథెంటికేట్ కాకపోతే, usermetaలో ఆ కీ కోసం ఎటువంటి రో (row) ఉండదు. మీ పాత ఖాతాలను కనుగొనడానికి “Last Login” ద్వారా యూజర్ జాబితాను సార్ట్ చేసినప్పుడు, మెటాడేటా లేని యూజర్లను ఆ క్వెరీ తరచుగా మినహాయిస్తుంది. వారు సార్ట్ చేసిన వ్యూ నుండి పూర్తిగా తప్పిపోతారు.
మీరు క్లీనప్ ఆడిట్ నిర్వహిస్తారు. మీరు డిసెండింగ్ ఆర్డర్లో సార్ట్ చేసి, పాత తేదీలతో ఉన్న నలభై మంది యూజర్లను చూస్తారు. మీరు ఒక సమూహాన్ని నిలిపివేయాలని నమ్మకంగా నిర్ణయించుకుంటారు. కానీ ఎనిమిది నెలలుగా నిశ్శబ్దంగా ఉన్న పది కాంట్రాక్టర్ ఖాతాలను మీరు ఎప్పుడూ చూడలేదు, ఎందుకంటే అవి ఒక్కసారి కూడా ట్రాకర్ను ట్రిగ్గర్ చేయలేదు. ఆ ఖాతాలు సార్ట్ చేసిన జాబితాలో కనిపించవు, కాబట్టి అవి మీ ముగింపులలో కూడా కనిపించవు. మీ ఆడిట్ స్వయంగా తన ఫలితాలను తొలగించుకుంటుంది. మెంబర్షిప్ సైట్లు, ఈ-లెర్నింగ్ ప్లాట్ఫారమ్లు లేదా మల్టీసైట్ నెట్వర్క్లలో ఇది చాలా ఇబ్బందికరమైనది, ఎందుకంటే దాడి చేసేవారు తరచుగా నిష్క్రియ ఖాతాలనే మొదట లక్ష్యంగా చేసుకుంటారు.
డేటా ఉపయోగం లేనప్పుడు మాత్రమే అందుబాటులో ఉంటుంది
ఇక్కడ ఒక నిశ్శబ్ద వైరుధ్యం ఉంది. WordPress కోర్ యూజర్ సెషన్ల గురించి కొంత తెలుసు. ఎవరైనా లాగిన్ అయినప్పుడు, సిస్టమ్ సెషన్ టోకెన్లను రూపొందిస్తుంది మరియు వాటిని యూజర్ మెటాడేటాలో నిల్వ చేస్తుంది. అడ్మినిస్ట్రేటర్ యాక్టివ్ సెషన్లను చూడవచ్చు మరియు వాటిని ముగించవచ్చు. కానీ ఆ సమాచారం కేవలం లైవ్ స్థితిలో మాత్రమే ఉంటుంది. యూజర్ లాగౌట్ క్లిక్ చేసిన క్షణం లేదా సెషన్ స్వయంగా ముగిసిన వెంటనే, WordPress ఆ టోకెన్ను తొలగిస్తుంది. ఆ రికార్డు మాయమవుతుంది.
ప్రస్తుతం ఎవరు ఆన్లైన్లో ఉన్నారో మీరు చూడగలరు. నిన్న ఉదయం పది గంటలకు ఎవరు ఆన్లైన్లో ఉన్నారో మీరు సులభంగా చూడలేరు. ఈ ఆర్కిటెక్చర్ రియల్-టైమ్ సెషన్ మేనేజ్మెంట్ కోసం నిర్మించబడింది, చారిత్రక
