2011-07-05 10 views
18

में एसएसएल का उपयोग कर रहा है, तो मैं यह पता लगाने की कोशिश कर रहा हूं कि वर्तमान पृष्ठ एसएसएल के माध्यम से वितरित किया जा रहा है या नहीं, यह तय करने के लिए कि कुछ असुरक्षित बाहरी संसाधनों को शामिल करना है या नहीं। मेरी वर्तमान विधि में यह जांचना शामिल है कि request.url 'https' से शुरू होता है या नहीं। क्या यह इसे पूरा करने का सबसे आसान तरीका है? क्या कोई बेहतर तरीका है? धन्यवाद!निर्धारित करें कि वर्तमान पृष्ठ रेल में

उत्तर

34

एक नियंत्रक या ध्यान में रखते हुए:

request.ssl? 
+1

भी विचारों में काम करता है (उदाहरण के लिए, https अनुरोधों के लिए एक SSL बिल्ला को दिखाने के लिए) –

+0

असल में मैं जाँच प्रोटोकॉल है कि लगता है कि 'https' एक बहुत होने जा रहा है इससे सुरक्षित हेडर को पारगमन में छेड़छाड़ की जा सकती है। आप request.ssl ​​के साथ जांच कर रहे हैं? @env ['HTTPS'] == 'ऑन' || है @env ['HTTP_X_FORWARDED_PROTO'] == 'https' जबकि पूर्णपथ, अनुरोध होने और प्रोटोकॉल होने के कारण, धोखा नहीं दिया जा सका। http://apidock.com/rails/ActionController/Request/ssl%3F – saneshark

+1

मैं गलत था, पूरा हेडर एन्क्रिप्ट किया गया है और पारगमन में छेड़छाड़ नहीं किया जा सकता है। – saneshark

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