diff --git a/app/controllers/sotechsha2_pages_controller.rb b/app/controllers/sotechsha2_pages_controller.rb deleted file mode 100644 index fe3c7a07..00000000 --- a/app/controllers/sotechsha2_pages_controller.rb +++ /dev/null @@ -1,7 +0,0 @@ -class Sotechsha2PagesController < ApplicationController - def index; end - - def show - render "sotechsha2_pages/#{params[:page]}" - end -end diff --git a/app/controllers/sotechsha_pages_controller.rb b/app/controllers/sotechsha_pages_controller.rb deleted file mode 100644 index bb5ccfbd..00000000 --- a/app/controllers/sotechsha_pages_controller.rb +++ /dev/null @@ -1,7 +0,0 @@ -class SotechshaPagesController < ApplicationController - def index; end - - def show - render "sotechsha_pages/#{params[:page]}" - end -end diff --git a/app/models/book.rb b/app/models/book.rb index ff28872a..7148b006 100644 --- a/app/models/book.rb +++ b/app/models/book.rb @@ -19,9 +19,14 @@ def find(title) end def exist?(title, page) - page.nil? ? - self.find(title).any? : - self.find(title).map(&:filename).include?(page + ".html") + return false unless page.present? + + view_paths = [ + Rails.root.join("app/views/books/#{title}/#{page}.html.erb"), + Rails.root.join("app/views/#{title}/#{page}.html.erb") + ] + + view_paths.any? { |path| File.exist?(path) } end end diff --git a/config/brakeman.ignore b/config/brakeman.ignore index 4b3ac025..057f44d0 100644 --- a/config/brakeman.ignore +++ b/config/brakeman.ignore @@ -1,28 +1,5 @@ { "ignored_warnings": [ - { - "warning_type": "Dynamic Render Path", - "warning_code": 15, - "fingerprint": "69b5a133fab8ea617d2581423cefaf077b9366e683c5fac715647bddeec7f50a", - "check_name": "Render", - "message": "Render path contains parameter value", - "file": "app/controllers/sotechsha_pages_controller.rb", - "line": 5, - "link": "https://brakemanscanner.org/docs/warning_types/dynamic_render_path/", - "code": "render(action => \"sotechsha_pages/#{params[:page]}\", {})", - "render_path": null, - "location": { - "type": "method", - "class": "SotechshaPagesController", - "method": "show" - }, - "user_input": "params[:page]", - "confidence": "Medium", - "cwe_id": [ - 22 - ], - "note": "" - }, { "warning_type": "Command Injection", "warning_code": 14, @@ -188,29 +165,6 @@ ], "note": "" }, - { - "warning_type": "Dynamic Render Path", - "warning_code": 15, - "fingerprint": "c54623ebce2c2053b95088b9da8112aee962e7cadd79bd9b4b9afdedaddc15b1", - "check_name": "Render", - "message": "Render path contains parameter value", - "file": "app/controllers/sotechsha2_pages_controller.rb", - "line": 5, - "link": "https://brakemanscanner.org/docs/warning_types/dynamic_render_path/", - "code": "render(action => \"sotechsha2_pages/#{params[:page]}\", {})", - "render_path": null, - "location": { - "type": "method", - "class": "Sotechsha2PagesController", - "method": "show" - }, - "user_input": "params[:page]", - "confidence": "Medium", - "cwe_id": [ - 22 - ], - "note": "" - }, { "warning_type": "Cross-Site Scripting", "warning_code": 2,