तो मैं जो डैशबोर्ड की एक पूरी ओवरहाल का परिचय एक कस्टम वर्डप्रेस विषय के लिए कई बदलाव करने की कोशिश कर रहा हूँ। मुझे मूल विषय के साथ कुछ समस्याएं मिलती हैं जिन्हें मुझे ठीक करने की आवश्यकता होती है (जब आप नए आयात करते हैं तो डुप्लिकेट पोस्ट की उचित जांच नहीं करते हैं, मेटाडेटा को सही ढंग से संग्रहीत नहीं किया जा रहा है, पोस्ट उचित श्रेणियों में क्रमबद्ध नहीं हो रहे हैं, आदि)वर्डप्रेस - 404 के हर जगह
चूंकि मैं इसके साथ काम कर रहा हूं, मुझे डेटाबेस को अनगिनत बार देखने और संशोधित करने की आवश्यकता है या तो यह देखने के लिए कि डेटाबेस डेटाबेस के साथ क्या कर रहा है या इसे खराब करने वाली चीज़ों को ठीक करें। दुर्भाग्य से मैं phpMyAdmin स्थापित करने के लिए तो मैं सीधे एसक्यूएल टाइपिंग और उपयुक्त स्थानों में विषय में डालने, तो स्क्रिप्ट die()
होने इसलिए मैं अपने एसक्यूएल के उत्पादन में देख सकते हैं द्वारा परिवर्तन करने किया गया है में असमर्थ था।
अचानक यह मुझे मारा है कि मैं जो वर्डप्रेस में phpMyAdmin कार्यक्षमता को एकीकृत एक प्लगइन मिल सका। तो मैंने wp-phpMyAdmin स्थापित किया।
सबकुछ ठीक से चल रहा है जब तक कि मैं वास्तव में DO कुछ भी करने की कोशिश करता हूं। मैं टेबल देख सकता हूं, पंक्तियां देख सकता हूं, और सब कुछ देख सकता हूं। लेकिन जब मैं पंक्ति को संपादित करने या पंक्ति को हटाने की कोशिश करता हूं तो मुझे 404 त्रुटि पर रीडायरेक्ट किया जाता है, यह कहकर कि phpMyAdmin का जो भी हिस्सा मैं एक्सेस कर रहा था (उदाहरण के लिए, tbl_row_action.php
) मौजूद नहीं है। यदि मैं पंक्तियों को संपादित या हटाने के लिए फ़ॉर्म सबमिट किए बिना इन पृष्ठों पर सीधे जाता हूं तो वे ठीक काम करते हैं और मुझे एक त्रुटि संदेश मिलता है कि मेरी SQL क्वेरी खाली थी।
क्या किसी और ने इसका अनुभव किया है? मैं वास्तव में यह नहीं समझ सकता कि यह 404 क्यों भेज रहा है या नहीं। यह बिल्कुल हास्यास्पद है।
संपादित करें - एक छोटी सी में अधिक जानकारी:
मैंने सीखा है कि मैं केवल एक 404 त्रुटि जब phpMyAdmin sql_query
पैरामीटर के साथ sql.php
कॉल सेट
संपादित करें (फिर से) प्राप्त - एक आगे अद्यतन:
मैं केवल 404 त्रुटि मिली जब sql_query एक वैध क्वेरी में शामिल है। sql.php
के माध्यम से देख रहे हैं (मैंने आपको बहुत समय तक नहीं देखा है, आपको याद है) मुझे लगता है कि यह क्वेरी को पार्स करने और यह निर्धारित करने के लिए प्रतीत होता है कि आप SELECT
आईएनजी, DROP
आईएनजी, DELETE
आईएनजी इत्यादि हैं, इसलिए वे आपके उपयोगकर्ता को देख सकते हैं अनुमतियाँ। यह इस पार्सिंग कोड से संबंधित हो सकता है।
निम्नलिखित प्रश्नों मुझे हार नहीं मानी 404:
test
SELECT test
SELECT test FROM test
SELECT test FROM post_meta
DELETE
DROP
DROP test
निम्नलिखित मुझे एक 404 दिया:
SELECT * FROM test
SELECT * FROM post_meta
DELETE FROM
DELETE FROM test
DELETE FROM post_meta
DROP TABLE
DROP TABLE test
अधिक संपादन -
तो एसक्यूएल के शीर्ष पर। PHP मैंने कोड की इस पंक्ति को रखा:
die("Test");
जब मैं ऊपर सूचीबद्ध बुरी क्वेरी करता हूं तो यह मर नहीं जाता है। यह सीधे 404 संदेश पर जाता है। जाहिर है इस वर्डप्रेस के रीडायरेक्ट स्क्रिप्ट के साथ कुछ करने के लिए है और नहीं phpMyAdmin
साथअंतिम संपादन -
मैं एक बहुत अधिक शोध किया है और वर्डप्रेस से बाहर बिल्ली grep'ing दिया।
मुझे अत्यधिक संदेह है कि मुझे कुछ नई वर्डप्रेस सुरक्षा सुविधा के परिणामस्वरूप यह समस्या है। वर्डप्रेस के पुराने संस्करण स्पष्ट रूप से एसक्यूएल को यूआरएल में इनपुट करने की इजाजत देने के लिए इस्तेमाल करते थे, जिसने एक बड़ा सुरक्षा जोखिम पैदा किया था। नतीजतन यह समझ में आता है कि वे अब यूआरएल के माध्यम से एसक्यूएल को पारित करने की अनुमति नहीं देंगे। टेम्पलेट से ठीक पहले is_404()
का मान सत्य पर सेट किया जा रहा है। यह (WP::main()
जो wp()
द्वारा कहा जाता है जो wp-blog-header.php
भीतर कहा जाता है के द्वारा कहा जाता है) WP::parse_request()
के भीतर निर्धारित किया जा रहा है
किसी भी समय वहाँ एक संदिग्ध SQL क्वेरी कहीं अनुरोधित यूआरआई में है, मैं एक 404 पृष्ठ पर लात मारी मिलता है। वर्डप्रेस कोर में जितना संभव हो उतना संशोधन करने के दौरान मैं इस व्यवहार को बदलना चाहता हूं। मुझे किसी ऐसे व्यक्ति की ज़रूरत है जो यहां मेरी मदद करने के लिए वर्डप्रेस के साथ वास्तव में अच्छा है। मुझे लगता है कि $ wp_rewrite चर शामिल एक उत्तर मौजूद है, जिसमें यूआरएल पुनः लिखने के नियमों की भीड़ शामिल है।
समस्या अंत में पता चला -
जो इस पोस्ट पाता है या रुचि किसी के लिए यह पीछा कर रहा था या बस इसी तरह के मुद्दों था, मैं अंत में 404 त्रुटियों का स्रोत स्थित है। यह वर्डप्रेस के साथ बिल्कुल झूठ नहीं बोलता था। समस्या mod_security के लिए गिर गई, एक अपाचे मॉड्यूल जो संदिग्ध दिखने वाले किसी भी अनुरोध को रोकता है (अनुरोध यूआरआई में एसक्यूएल के साथ उन लोगों सहित)
हमेशा अपनी mod_security सेटिंग्स को ठीक से याद रखना याद रखें।
परेशान क्यों? PhpMyAdmin स्थापित करने के अपने प्रयासों को बस दोहराएं। इसके साथ क्या समस्या है? –
पिछली टिप्पणीकर्ता सही है, हमें बताएं कि "मैं phpMyAdmin इंस्टॉल करने में असमर्थ था"? यदि आप एसएसएच के माध्यम से अपने मेजबान से कनेक्ट कर सकते हैं, तो मैं पूरी तरह से MySQL वर्कबेंच का उपयोग करने की सलाह देता हूं, यह एक अच्छा टूल है। –