मैंने कई PHP वेब सेवाएं लिखी हैं जहां मैं यूआरएल के माध्यम से तर्कों में गुजरता हूं। अनधिकृत पहुंच को रोकने के लिए, मैं एक तर्क के रूप में एक अद्वितीय कुंजी में गुजरता हूं। मैं एचटीटीपीएस के माध्यम से PHP फ़ाइल को कॉल करता हूं, और मुझे आश्चर्य है कि अगर कोई तरीका है तो मैं स्क्रिप्ट को चलने से रोक सकता हूं यदि HTTPS का उपयोग नहीं किया जाता है।अगर कॉलर HTTPS का उपयोग नहीं कर रहा है तो मैं PHP फ़ाइलों तक पहुंच कैसे रोक सकता हूं?
उत्तर
, लेकिन आप अपाचे httpd और mod_ssl
साथ PHP का उपयोग कर रहे हैं, आप .htaccess
में या निर्देशिका विन्यास में SSLRequireSSL
निर्देश रखकर फ़ाइलें (और PHP स्क्रिप्ट) पर SSL पहुंच मजबूर कर सकते हैं।
if(empty($_SERVER['HTTPS'])) {
// ....
exit;
}
यह [** काम नहीं करता **] (http://php.net/manual/en/reserved.variables.server.php#refsect1 Ires पर -reserved.variables.server-indices)। रूट पर समस्या को हल करने, – Pacerier
यदि आप अपाचे का उपयोग कर रहे हैं, तो आप HTTP अनुरोधों को http https को रीडायरेक्ट करने के लिए mod_rewrite का उपयोग कर सकते हैं।
उदा।
RewriteCond %{HTTPS} !=on
RewriteRule ^account(.*) https://%{SERVER_NAME}/account$1 [R=301,L]
स्पष्ट करने के लिए पुनर्निर्देश:: यह हम क्या उपयोग है आप चाहते हैं कि एक ग्राहक एक यूआरएल एक गैर एन्क्रिप्टेड कनेक्शन पर एक गुप्त टोकन युक्त फोन नहीं करता है, यह सही है ? यदि ऐसा है, तो समस्या मुख्य रूप से आपके साथ नहीं है, बल्कि ग्राहक के ब्राउज़र के साथ है। यदि आप अभी तक एक का उपयोग नहीं कर रहे हैं, तो आप क्लाइंट को एक सुरक्षित कनेक्शन पर रीडायरेक्ट कर सकते हैं, लेकिन यदि आप ऐसा करते हैं तो भी क्लाइंट ने पहले ही एक असुरक्षित, अवरोधनीय अनुरोध अपने सर्वर पर रीडायरेक्ट करने से पहले किया है!
मोज़िला इस समस्या को हल करने का प्रयास कर रहा है। फ़ायरफ़ॉक्स 4 के रूप में एक सर्वर एक Strict-Transport-Security
हैडर जो बाद में एन्क्रिप्ट न किए पहुँच पाएगा भेज सकते हैं (हालांकि स्पष्ट रूप से शीर्ष लेख से पहले एन्क्रिप्ट न किए पहुंच अभी भी हो सकता है भेजा गया था।)
+1 – Bruno
आप का जवाब सर्वर रोका जा सकता है एक अनएन्क्रिप्टेड अनुरोध, लेकिन आप क्लाइंट को इसे भेजने से नहीं रोक सकते हैं, जो पासवर्ड सुरक्षा के लिए उतना ही बुरा है। और यह यूआरएल में एक गुप्त टोकन डालने से अब तक की सबसे बुरी समस्या नहीं है: यह ब्राउज़र इतिहास में बनी हुई है, जब उपयोगकर्ता आपकी साइट छोड़ देता है, और उपयोगकर्ता द्वारा देखी जाने वाली किसी भी वेबसाइट पर ब्रूट- :visited
सीएसएस छद्म-वर्ग के माध्यम से बल या शब्दकोश हमला। सब कुछ, यह एक बहुत ही भयानक विचार है - आप केवल एसएसएल-केवल कुकीज़ का उपयोग बंद कर सकते हैं।
- 1. अगर कोई पर्ल का उपयोग नहीं कर रहा है तो मैं निर्देशिका कैसे बना सकता हूं?
- 2. अगर मैं सर्वर तक नहीं पहुंच पा रहा हूं तो ओथ इंस्टॉल कैसे करें?
- 3. मैं अपनी जावास्क्रिप्ट फ़ाइलों तक सीधे पहुंच कैसे रोक सकता हूं?
- 4. यदि मैं PHP का उपयोग कर रहा हूं तो मैं c10k समस्या का समाधान कैसे कर सकता हूं?
- 5. .NET का उपयोग कर Windows रजिस्ट्री तक पहुंच रहा है?
- 6. अगर मैं वीबीए एक्सेल 2007 का उपयोग कर रहा हूं तो मैं कैसे निर्धारित करूं?
- 7. बिल्ड एक्शन का उपयोग कर फ़ाइलों तक पहुंच: सामग्री
- 8. मैं अनिश्चित काल तक लूप कैसे कर सकता हूं, लेकिन कुछ स्थितियों पर रोक सकता हूं?
- 9. मैं जावा का उपयोग कर किनेक्ट तक कैसे पहुंच सकता हूं?
- 10. यदि Emacs X का उपयोग कर रहा है तो मैं elisp में कैसे बता सकता हूं?
- 11. अगर मैं f90 या f95 कोड संकलित कर रहा हूं तो gfortran कैसे बता सकता है?
- 12. मैं NASM का उपयोग कर सिस्टम समय तक कैसे पहुंच सकता हूं?
- 13. चींटी: अगर निर्देशिका मौजूद नहीं है तो मैं बिल्ड त्रुटि को कैसे अनदेखा कर सकता हूं?
- 14. रेल 3 - अगर मैं आरएसपीईसी का उपयोग कर रहा हूं, तो क्या मैं सिर्फ 'टेस्ट' फ़ोल्डर को हटा सकता हूं?
- 15. जावा में, जब मैं आंतरिक कक्षा में नहीं हूं, तो मैं बाहरी वर्ग तक कैसे पहुंच सकता हूं?
- 16. क्या मुझे टीटीएचड की ज़रूरत है? यदि ऐसा है तो मैं रोक सकता हूं, फिर से शुरू कर सकता हूं और उन्हें रोक सकता हूं?
- 17. मैं यूपीएनपी डिवाइस की सेवाओं तक कैसे पहुंच सकता हूं?
- 18. मैं आइटम्स कंट्रोल के बच्चों तक कैसे पहुंच सकता हूं?
- 19. गिटहब: क्या मैं उन्हें संकलित किए बिना संकलित फ़ाइलों तक पहुंच प्रदान कर सकता हूं?
- 20. क्या मैं ईएल का उपयोग कर जेएसपी से एनम कक्षा के मूल्यों तक पहुंच सकता हूं?
- 21. जब मैं gqg का उपयोग करता हूं तो मैं विम को लाइनों में शामिल होने से कैसे रोक सकता हूं?
- 22. मैं एंड्रॉइड में सभी ड्रॉबल्स तक कैसे पहुंच सकता हूं?
- 23. क्या मैं स्थिर नाम के लिए एक चर का उपयोग कर एक PHP कक्षा कॉन्स्टेंट तक पहुंच सकता हूं?
- 24. क्या मैं किसी निश्चित प्रक्रिया के लिए कुछ फ़ाइलों तक पहुंच प्रतिबंधित कर सकता हूं?
- 25. मैं अनुरोध हेडर का उपयोग कैसे कर सकता हूं जो $ _SERVER में दिखाई नहीं दे रहा है?
- 26. मैं PHP का उपयोग कर रैम मेमोरी में डेटा कैसे स्टोर कर सकता हूं?
- 27. मैं पैकेज.जेसन कॉन्फ़िगरेशन अनुभाग तक कैसे पहुंच सकता हूं?
- 28. मैं अनुक्रमिक रूप से अनुस्मारक तक कैसे पहुंच सकता हूं?
- 29. क्या मैं एक्सकोड का उपयोग कर अपने आईफोन के फाइल सिस्टम तक पहुंच सकता हूं?
- 30. मैं फोर्टन से सी पॉइंटर तक कैसे पहुंच सकता हूं?
ध्यान दें कि यदि आप ब्राउज़र को अपनी सेवा में कुछ गुप्त टोकन भेज रहे हैं, तो यह उतना ही नहीं है जितना सर्वर स्वीकार करता है कि आपको चिंता करनी चाहिए, लेकिन ग्राहक क्या भेजता है। यदि आपका सर्वर उसी पते पर सादे HTTP में भी सुन रहा है और क्लाइंट गलती से अनुरोध करता है, तो इस बार एचटीटीपीएस पर (हम सुरक्षित कुकीज़ का उपयोग न करने जैसी समान समस्या) पर हमलावर द्वारा इसे अवरुद्ध और पुन: उत्पन्न किया जा सकता है। – Bruno
यह भी देखें http://stackoverflow.com/a/28891745/632951 – Pacerier