2011-05-29 21 views
5

तो मैं जो डैशबोर्ड की एक पूरी ओवरहाल का परिचय एक कस्टम वर्डप्रेस विषय के लिए कई बदलाव करने की कोशिश कर रहा हूँ। मुझे मूल विषय के साथ कुछ समस्याएं मिलती हैं जिन्हें मुझे ठीक करने की आवश्यकता होती है (जब आप नए आयात करते हैं तो डुप्लिकेट पोस्ट की उचित जांच नहीं करते हैं, मेटाडेटा को सही ढंग से संग्रहीत नहीं किया जा रहा है, पोस्ट उचित श्रेणियों में क्रमबद्ध नहीं हो रहे हैं, आदि)वर्डप्रेस - 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 सेटिंग्स को ठीक से याद रखना याद रखें।

+0

परेशान क्यों? PhpMyAdmin स्थापित करने के अपने प्रयासों को बस दोहराएं। इसके साथ क्या समस्या है? –

+1

पिछली टिप्पणीकर्ता सही है, हमें बताएं कि "मैं phpMyAdmin इंस्टॉल करने में असमर्थ था"? यदि आप एसएसएच के माध्यम से अपने मेजबान से कनेक्ट कर सकते हैं, तो मैं पूरी तरह से MySQL वर्कबेंच का उपयोग करने की सलाह देता हूं, यह एक अच्छा टूल है। –

उत्तर

1

वर्डप्रेस phpMyAdmin के साथ हस्तक्षेप नहीं करना चाहिए, क्योंकि प्लगइन इसे एक पृथक आईफ्रेम में लोड करता है।

परियोजना के लिए अपने विनिर्देशों के रूप में वह केवल वर्डप्रेस अपने सर्वर पर स्थापित करना चाहता है ...

प्लगइन, फिर भी, अभी भी phpMyAdmin (यद्यपि वर्डप्रेस यूआई में 'लिपटे' है)। दूसरे शब्दों में, आप पहले से ही यह स्थापित किया है;)

... अद्यतन करने और अन्य सॉफ्टवेयर को बनाए रखने की परेशानी से बचने के लिए ...

'सॉफ्टवेयर' एक खतरनाक शब्द हो सकता है वेब-ऐप से बात करते समय - यह कहना नहीं है कि का उपयोग पर नहीं करें, लेकिन कुछ के लिए यह नीली स्क्रीन और रनटाइम त्रुटियों के विचारों को स्वीकार कर सकता है;)

दूसरे शब्दों में, बस तनाव है कि पीएमए बस है सर्वर पर फ़ाइलों का संग्रह - इसमें कोई डेटाबेस नहीं है यह स्वयं है, यह प्रभावी रूप से स्टेटलेस है, और हटाने RMD /phpmyadmin जितना सरल है।

...वह, अंक मैं पहले से किए गए बावजूद वर्डप्रेस डैशबोर्ड

से सभी आवश्यक प्रशासनिक परिवर्तन करने के लिए सक्षम होने के लिए अगर यह होता है बिल्कुल आवश्यक डैशबोर्ड के भीतर डेटाबेस प्रबंधन पहुंच नहीं है कि, मैं कर रहा हूँ चाहता है एक त्वरित विकल्प लिखने के बारे में जो phpMiniAdmin का उपयोग करता है (इस तरह मैंने इस सवाल पर अजीब तरह से ठोकर खाई!), और मुझे कोशिश करने के लिए इसे साझा करने में खुशी होगी।

+0

इंस्टॉल करने के बीच अंतर (या, जैसा कि आप इंगित करना चाहते थे, अपलोड करना - क्योंकि यह सिर्फ फाइलें हैं) phpMyAdmin या इसे वर्डप्रेस प्लगइन के रूप में स्थापित करना यह है कि वर्डप्रेस स्वचालित रूप से प्लगइन के अपडेट के लिए जांच करता है। यदि phpMyAdmin को कभी अपडेट नहीं किया गया था, तो इस तरह से यह सुरक्षा जोखिम से कम हो जाता है। वर्डप्रेस हस्तक्षेप क्यों कर रहा है, वर्डप्रेस एक बेहद सरल। Htaccess rewrite नियम का उपयोग करता है। सभी अनुरोध वर्डप्रेस की index.php पर जाते हैं। जब भी यूआरएल में एसक्यूएल होता है तो मुझे 404 पेज पर रीडायरेक्ट किया गया था। मुझे phpMiniAdmin के लिए प्लगइन भी नहीं मिला, लेकिन अगर मैं – stevendesu

+0

"वर्डप्रेस स्वचालित रूप से प्लगइन के अपडेट के लिए जांचता है" के बजाय POST का उपयोग करता है, तो मैं एक बना सकता हूं - सच है, लेकिन यह अभी भी अपडेट करने के लिए प्लगइन लेखक पर निर्भर करता है। बिल्ली, वह प्लगइन पीएमए 2.10.3 है, लेकिन अब हम 3.4.2 तक हैं! "सभी अनुरोध वर्डप्रेस पर जाते हैं" काफी नहीं; केवल अनुरोध जो * वास्तविक * फ़ाइल या फ़ोल्डर से मेल नहीं खाते हैं। यदि आप प्लगइन पेज स्रोत की जांच करते हैं, तो आप देखेंगे कि यह सिर्फ एक आईफ्रेम है जो सीधे पीएमए इंस्टॉल को इंगित करता है। – TheDeadMedic

+0

यह समझाता नहीं है, फिर, वर्डप्रेस की index.php को संशोधित करने से मुझे iframe की सामग्री में परिवर्तन करने की अनुमति मिलती है। मैंने एक लाइन में रखा है जैसे 'अगर ($ _ सर्वर [' REQUEST_URI '] ==' ... ') {die ("Yup ....."); } ''REQUEST_URI' के साथ पीएमए द्वारा एक साधारण कार्य के लिए एक टेबल छोड़ने के लिए उपयोग किया जाता है। निश्चित रूप से, जब मैं एक टेबल छोड़ने की कोशिश करता हूं तो मुझे एक खाली पृष्ठ मिलता है जो 'यूप .....' कहता है। इसका तात्पर्य है कि कहीं और किसी भी तरह एसक्यूएल युक्त कोई अनुरोध वर्डप्रेस पर जा रहा है और प्लगइन नहीं। – stevendesu

0

जैसा कि @molnarm टिप्पणियों में बताया गया है, क्यों नहीं 0pया Sequel Pro जैसे कुछ का उपयोग करके phpMyAdmin को हटाया और एसएसएच पर MySQL से कनेक्ट नहीं किया।

आपके पास MySQL के साथ संवाद करने के लिए एक बहुत ही आसान और तेज़ तरीका होगा और phpMyAdmin है जो दुःस्वप्न को हटा सकता है।

+0

चूंकि बक्षीस जल्द ही खत्म हो रहा है, मुझे लगता है कि आपको स्वचालित रूप से +100 का पुरस्कृत किया जा रहा है, हालांकि मुझे अपने क्लाइंट के लिए वर्डप्रेस डैशबोर्ड के अंदर एक वर्डप्रेस प्लगइन के रूप में काम करने की आवश्यकता है phpMyAdmin। प्रोजेक्ट के लिए उनके विनिर्देशों में से एक के रूप में वह केवल अपने सर्वर पर अन्य सॉफ्टवेयर को अद्यतन करने और बनाए रखने की परेशानी से बचने के लिए वर्डप्रेस स्थापित करना चाहता है, और वह वर्डप्रेस डैशबोर्ड से सभी आवश्यक प्रशासनिक परिवर्तन करने में सक्षम होना चाहता है। – stevendesu

संबंधित मुद्दे