WordPress Plugin Security – WordPress Development के दौरान हमें विभिन्न प्रकार के Security Related Issues को ध्यान में रखना जरूरी होता है, जिसके अन्तर्गत Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF), SQL Injection, Privilege Escalation, Vulnerabilities व Holes को Handle करना जरूरी होता है और WordPress हमें इन विभिन्न प्रकार के Threats से अपने WordPress Theme व Plugin को Select करने के लिए कई Functionalities Provide करता है।
जब हम Theme या Plugin Develop करते हैं, तब हमारे द्वारा लिखे गए Weak Codes ही हमारे Development की Security से सम्बंधित Issues पैदा करते हैं। इसलिए जब हम हमारा Code लिखते हैं, तब हमें उन विभिन्न प्रकार के Issues को ध्यान में रखना जरूरी होता है ताकि हम कोई ऐसा Code न लिखें, जिनसे किसी भी तरह का Security Related Issue Trigger हो।
User Permissions
WordPress में Security को Manage करने का ये सबसे पहला तरीका होता है, जिसके अन्तर्गत हम इस बात को निश्चित करते हैं कि किस Capability का User, WordPress System को किस Level तक Access कर सकता है और इसके अन्तर्गत सामान्यत: हम WordPress द्वारा Provide किए गए current_user_can() API Function को उपयोग में लेते हैं।
इस Function का प्रयोग करके हम इस बात को निश्चित करते हैं कि Current User के पास किसी Action को Perform करने के लिए जरूरी Capability या Role है या नहीं। यदि User के पास Appropriate Permission हो, तो ही कोई Sensitive Code उस Current User के लिए Execute होता है। उदाहरण के लिए हम इस API Function को कुछ निम्नानुसार Use कर सकते हैं:
//Capability Test if( !current_user_can('install_plugins')) wp_die( 'Insufficient Permissions.'); //Role Test if( !current_user_can('editor')) wp_die( 'You can’t edit this post.');
हम हमारी जरूरत के अनुसार किसी Specific Role या Capability को Use कर सकते हैं अथवा WordPress हमें सुविधा देता है जिनका प्रयोग करके हम नए Capabilities व Roles भी Define कर सकते हैं और उन्हें जरूरत के अनुसार उपयोग में ले सकते हैं।
चूंकि current_user_can() API Function get_currentuserinfo() API Function पर Depend होता है, जो कि एक Pluggable Function है और Pluggable Functions को Plugins द्वारा Replace किया जा सकता है। ये Pluggable Functions ‘wp-includes/pluggable.php‘ File में Exist होते हैं, जो कि Plugins के Active होने के बाद Load होते हैं।
इसलिए जब तक WordPress Engine पूरी तरह से Start व Instantiate नहीं हो जाता तथा सभी Plugins पूरी तरह से Load नहीं हो जाते, तब तक हम current_user_can() API Function को पूरी विश्वसनीयता के साथ उपयोग में नहीं ले सकते। इसलिए बेहतर यही होता है कि इस API Function को Use करते समय कम से कम init या इसके बाद Trigger होने वाले किसी Action Hook को उपयोग में लिया जाए और उस Hooked Function में current_user_can() API Function को Use करते हुए Current User की Capabilities का पता लगाया जाए।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance WordPress in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Advance WordPress in Hindi | Page: 835 | Format: PDF