Wp_insert_posts () कितना सुरक्षित / पवित्र है?


13

Wp_insert_post () के लिए कोडेक्स को देखते हुए यह कहा गया है कि यह फ़ंक्शन "... चर को पवित्रा करता है, कुछ चेक करता है, जैसे दिनांक / समय, आदि गायब चर में भरता है" (EDIT: मैंने कोडेक्स प्रविष्टि को और अधिक मजबूत उदाहरण शामिल करने के लिए अद्यतन किया है। जिसमें सुरक्षा के साथ-साथ पोस्ट मेटा और श्रेणी असाइनमेंट शामिल हैं)

बस सोच रहा था कि क्या मुझे XSS हैक को रोकने के लिए कोई और सैनिटाइजेशन करने की जरूरत है या फ़ंक्शन के माध्यम से पसंद किया जा रहा है या नहीं।

ईमानदार होने के लिए, मैंने कोर में फ़ंक्शन के माध्यम से जाँच की है और उदाहरण के लिए post_content पर कोई भी wp_kses () या अन्य संकरण नहीं पाया है, इसलिए मैं थोड़ा चिंतित हूं। सभी मैं देख सकता हूं कि यह डेटा पर स्ट्रिप्सलैश_डिप () है।

तो क्या मैं wp_kses () या कुछ और जब मैं wp_insert_post () के लिए अपने तर्क का निर्माण करता हूं?

यहां सबसे अच्छा अभ्यास क्या है? कोडेक्स अपने उदाहरण में सुरक्षा के बारे में बहुत स्पष्ट है।

धन्यवाद


2
यह केवल SQL इंजेक्शन को रोकता है। यदि आप सामग्री पर केज़ चलाना चाहते हैं, तो आपको इसे स्वयं करना होगा। WP अनुमान नहीं लगा सकता है कि एचटीएमएल क्या छीन सकता है। क्या होगा अगर पोस्ट एक व्यवस्थापक द्वारा प्रस्तुत किया गया है, और वह <script>इसे अंदर डालना चाहता है?
onetrickpony

सुन कर अच्छा लगा। wp_kses_post () तब सब कुछ और wp_kses_title () शीर्षक पर!
टॉम ऑगर

डेटा सत्यापन और wp_insert_posts () का एक उदाहरण दिखाने के लिए कोडेक्स अपडेट किया गया।
टॉम ऑस्टर

जवाबों:


11

आपको कुछ करने की जरूरत नहीं है।

WP लोड पर:

'init' hook -> kses_init() -> kses_init_filters()

बाद में:

wp_insert_post() -> sanitize_post() -> sanitize_post_field() -> 'content_save_pre' -> wp_filter_post_kses()

इसी तरह पोस्ट शीर्षक, टिप्पणी पाठ आदि के लिए।

निष्कर्ष: wp_insert_post () बहुत स्वच्छता है। :)


उस सुधार के लिए धन्यवाद Scribu - निश्चित रूप से एक बेहतर तरीका है! हालाँकि मैं चाहता हूँ कि आपने उस पूरे कोड स्निपेट को स्क्रैप नहीं किया था, क्योंकि यह wp_insert_post () का उपयोग करने के अन्य पहलुओं का भी अच्छा चित्रण था जो मुख्य उदाहरण को कवर नहीं करता है।
टॉम ऑगर

हाँ, इसके बारे में भी बुरा लगा। हालाँकि, यह wp_insert_post () के दायरे से परे था। एक अलग, टॉप-टू-बॉटम ट्यूटोरियल बेहतर होगा, मुझे लगता है।
scribu

अद्यतन उत्तर और कोडेक्स भी।
scriu

lol @ नवीनतम संपादित करें। कभी-कभी यह कुछ खुदाई में लग जाता है कि पहले से ही कोर के अंदर दबे हुए सभी सोने को खोजने के लिए :) मैंने थ्रेड खो दिया जब मैं इसे वापस ट्रेस कर रहा था। लगता है कि आप मुझसे बेहतर खोजी हैं! इसके साथ चिपके रहने और कोडेक्स को अपडेट करने के लिए धन्यवाद।
टॉम ऑगस्टर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.