WordPress-ன் உள்ளமைக்கப்பட்ட admin-email சரிபார்ப்புத் திரை (version 5.3 முதல் சில மாதங்களுக்கு ஒருமுறை காட்டப்படுகிறது) SSH அணுகல் இல்லாத தளங்களில் பிளகின்களை (plugins) புதுப்பிக்கும் Playwright ஆட்டோமேஷனைத் தடுக்கிறது. இந்த கூடுதல் படிநிலை, ஒரு பொத்தானுக்காக ஸ்கிரிப்ட்களைக் காத்திருக்கச் செய்கிறது, ஆனால் அந்தப் பொத்தான் தோன்றுவதில்லை, இதனால் timeout மற்றும் நிறுத்தி வைக்கப்பட்ட deployments ஏற்படுகின்றன.
இந்தத் தடை எதனால் ஏற்படுகிறது
ஒரு Playwright ஸ்கிரிப்ட் wp-admin-இல் லாக்-இன் செய்யும்போது, டேஷ்போர்டு (dashboard) உடனடியாகத் தோன்றும் என்று எதிர்பார்க்கிறது. ஆனால், அதற்குப் பதிலாக, WordPress சில நேரங்களில் adminhash= கொண்ட URL-க்குத் திருப்பி விடுகிறது (redirect). அந்தப் பக்கம், “Is this still your address?” என்று கேட்டு, இரண்டு பொத்தான்களைக் காட்டுகிறது: Yes, this is my address மற்றும் I’ll wait. ஒரு மனிதர் “I’ll wait” என்பதைக் கிளிக் செய்து பின்னர் தொடர்வார்; ஆனால் தானியங்கி ஸ்கிரிப்ட் (unattended script) டேஷ்போர்டின் கூறுகளைத் தேடிக்கொண்டே இருக்கும், அவற்றை ஒருபோதும் கண்டறியாது, இறுதியில் timeout ஆகிவிடும்.
இந்தத் தூண்டுதல் (prompt) ஏன் உள்ளது
அட்மின் மின்னஞ்சல் முகவரி இன்னும் அணுகக்கூடியதாக உள்ளதா என்பதை உறுதிப்படுத்த WordPress இந்தத் தூண்டுதலைச் சேர்த்துள்ளது. தளத்தின் செயல்பாட்டைப் பொருட்படுத்தாமல், இது தோராயமாக ஒவ்வொரு சில மாதங்களுக்கும் ஒருமுறை தோன்றும். மின்னஞ்சல் முகவரியை அணுகும் வசதியைத் தொலைத்த தள உரிமையாளர்களுக்கான ஒரு பாதுகாப்புச் சரிபார்ப்பாக இது வடிவமைக்கப்பட்டுள்ளது.
இதனால் பாதிக்கப்படுபவர்கள்
- Developers பிளகின் புதுப்பிப்புகளைத் தள்ள (push), UI சோதனைகளை இயக்க அல்லது மொத்த அட்மின் பணிகளைச் செய்ய Playwright-ஐ நம்பியிருக்கிறார்கள்.
- SSH அணுகலைக் கட்டுப்படுத்தும் Hosting providers, பயனர்களை பிரவுசர் மூலம் ஆட்டோமேஷன் செய்ய நிர்பந்திக்கிறார்கள்.
- ஆட்டோமேஷன் புதுப்பிப்புத் திரையை அடையாததால், தாமதமான புதுப்பிப்புகளைக் காணும் Site owners.
இதன் பாதிப்பு சில வினாடிகள் வீணாவது மட்டுமல்ல; தொடர்ச்சியான தோல்விகள் திட்டமிடப்பட்ட பராமரிப்பு நேரத்தைத் (maintenance windows) தடுத்து, கைமுறைத் தலையீட்டை (manual intervention) கட்டாயமாக்கலாம்.
தேவையற்றத் திரையைக் கண்டறிதல்
தற்போதைய URL-இல் adminhash= இருப்பது ஒரு நம்பகமான அறிகுறியாகும். இந்தச் சரம் (string) மின்னஞ்சல்-சரிபார்ப்புப் பக்கத்தில் மட்டுமே தோன்றும், வழக்கமான டேஷ்போர்டு அல்லது பிற அட்மின் திரைகளில் தோன்றாது.
ஒரு எளியத் தீர்வு (bypass)
லாக்-இன் செய்த உடனேயே ஒரு சரிபார்ப்பைச் சேர்க்கவும். URL-இல் adminhash= இருந்தால், “I’ll wait” பொத்தானைக் கிளிக் செய்து, தொடர்வதற்கு முன் பக்கம் நிலைபெறுவதற்காகக் காத்திருக்கவும்.
def ensure_past_email_check(page):
if "adminhash=" in page.url:
page.click("text=I'll wait")
page.wait_for_load_state("networkidle")
ஒவ்வொரு வெற்றிகரமான லாக்-இன் செய்த பின்னரும் உடனடியாக ensure_past_email_check(page) என்பதை அழைக்கவும். சரிபார்ப்புத் திரை தோன்றாதபோது இந்தச் செயல்பாடு எதையும் செய்யாது, இதனால் ஸ்கிரிப்ட் வேகமாகவும் துல்லியமாகவும் இருக்கும்.
எப்போது இந்தத் தீர்வைப் பயன்படுத்த வேண்டும்
மனித மேற்பார்வை இன்றி இயங்க வேண்டிய தானியங்கி பணிப்பாய்வுகளுக்கு (automated workflows)—உதாரணமாக, இரவு நேர பிளகின் புதுப்பிப்புகள் அல்லது continuous-integration UI சோதனைகள்—இந்தத் தீர்வு நடைமுறைக்கு ஏற்றது. இது சரிபார்ப்புப் படிநிலையை ஒரு தற்செயலான தோல்வியாகக் கருதாமல், ஒரு கணிக்கக்கூடிய மாற்றமாக (predictable detour) கையாள்கிறது.
மாற்றுக்கருத்து
இந்தத் தூண்டுதலைத் தானாகவே நிராகரிப்பது, உண்மையான மின்னஞ்சல்-டெலிவரி சிக்கலை மறைக்கக்கூடும் என்று சில நிர்வாகிகள் வாதிடுகின்றனர். அட்மின் மின்னஞ்சல் உண்மையிலேயே அணுக முடியாததாக மாறினால், தளம் முக்கியமான அறிவிப்புகளைத் தவறவிடக்கூடும். இத்தகைய சூழலில், நிகழ்வைப் பதிவு செய்தல் (logging), எச்சரிக்கை அனுப்புதல் அல்லது ஆட்டோமேஷனை நிறுத்துதல் போன்ற நுணுக்கமான அணுகுமுறை சிறந்தது.
அடுத்து கவனிக்க வேண்டியவை
- WordPress URL முறையை மாற்றலாம் அல்லது கூடுதல் சரிபார்ப்புப் படிநிலைகளைச் சேர்க்கலாம், இது
adminhash=சரிபார்ப்பைத் தடுத்துவிடும். கோர் (core) வெளியீட்டுக் குறிப்புகளைக் (release notes) கவனத்தில் રાખો. - Playwright-ன் selector engine பரிணமிக்கிறது; UI மறுவடிவமைப்புக்குப் பிறகு
"text=I'll wait"என்ற text selector பொத்தானுடன் தொடர்ந்து பொருந்துகிறதா என்பதை உறுதிப்படுத்தவும். - நீங்கள் பல தளங்களை நிர்வகிப்பவர் என்றால், குறியீட்டைத் திரும்பத் திரும்பத் தவிர்க்க (avoid duplicated code), இந்தத் தீர்வை ஒரு பகிரப்பட்ட லைப்ரரியில் (shared library) மையப்படுத்தக் கருதவும்.
அட்மின்-மின்னஞ்சல் உறுதிப்படுத்தல் பக்கத்தை வெளிப்படையாகக் கையாளுவதன் மூலம், டெவலப்பர்கள் அவ்வப்போது ஏற்படும் timeout-களைத் தங்கள் Playwright ஸ்கிரிப்ட்களின் வழக்கமான பகுதியாக மாற்றிக்கொள்ளலாம். இதன் மூலம், தளம் எதிர்பாராத பாதுகாப்புத் தூண்டுதலை வழங்கினாலும், WordPress ஆட்டோமேஷன் நம்பகமானதாகவே இருக்கும்.
