निम्नलिखित मानकोंक्या यह उम्मीद की जाती है कि ये पैरामीटर हमेशा किसी भी रेल एप्लिकेशन में 500 उठाएंगे?
http://example.com/?b=1&b[a]=2
हमेशा यह एक त्रुटि जो गैर catchable हो रहा है बढ़ाने के लिए बनाता है के साथ एक रेल आवेदन साधते।
उदा।
यह निम्न त्रुटि को जन्म देती है:
Invalid query parameters: expected Hash (got String) for param `b'
अनुरोध कभी नहीं रेल आवेदन कोड पूरी करता है।
यहाँ पूर्ण पश्व-अनुरेखन के अंतिम पंक्तियां हैं:
ActionController::BadRequest (Invalid query parameters: expected Hash (got String) for param `b'):
rack (1.5.2) lib/rack/utils.rb:127:in `normalize_params'
rack (1.5.2) lib/rack/utils.rb:96:in `block in parse_nested_query'
rack (1.5.2) lib/rack/utils.rb:93:in `each'
rack (1.5.2) lib/rack/utils.rb:93:in `parse_nested_query'
rack (1.5.2) lib/rack/request.rb:373:in `parse_query'
actionpack (4.1.4) lib/action_dispatch/http/request.rb:313:in `parse_query'
rack (1.5.2) lib/rack/request.rb:188:in `GET'
actionpack (4.1.4) lib/action_dispatch/http/request.rb:274:in `GET'
actionpack (4.1.4) lib/action_dispatch/http/parameters.rb:16:in `parameters'
actionpack (4.1.4) lib/action_dispatch/http/filter_parameters.rb:37:in `filtered_parameters'
actionpack (4.1.4) lib/action_controller/metal/instrumentation.rb:22:in `process_action'
actionpack (4.1.4) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.1.4) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.1.4) lib/abstract_controller/base.rb:136:in `process'
actionview (4.1.4) lib/action_view/rendering.rb:30:in `process'
actionpack (4.1.4) lib/action_controller/metal.rb:196:in `dispatch'
actionpack (4.1.4) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.1.4) lib/action_controller/metal.rb:232:in `block in action'
actionpack (4.1.4) lib/action_dispatch/routing/route_set.rb:82:in `call'
actionpack (4.1.4) lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
actionpack (4.1.4) lib/action_dispatch/routing/route_set.rb:50:in `call'
actionpack (4.1.4) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.1.4) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.4) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.4) lib/action_dispatch/routing/route_set.rb:678:in `call'
rack (1.5.2) lib/rack/etag.rb:23:in `call'
rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
rack (1.5.2) lib/rack/head.rb:11:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
मैं रेल 3.2 में कुछ साल पहले इस खोज की थी और मुझे आश्चर्य है कि क्यों यह अभी भी पर रेल 4.1.4 दुर्घटनाओं है।
किसी के पास क्या हो रहा है इसके बारे में कोई अच्छी व्याख्या है?
पैरा वास्तव में बेतुका हैं लेकिन आप सही हैं, इसे किसी भी तरह से रेल ऐप को मारना चाहिए – apneadiving
यह सही है। हालांकि, मुझे लगता है कि यहां एक छोटी सी सुरक्षा समस्या है। यह पता लगाना आसान है कि क्या वेबसर्वर रेल पर रूबी का उपयोग कर रहा है या नहीं, जिसे IMHO को obfuscated किया जाना चाहिए। –