javascript:
ブラウザ上での問題
リンク先として設定されている場合などにXSSが発生する <a href="javascript:alert(xxx)">xss</a> のようなHTMLガセ生成可能であった場合
あるいはlocation.href = "javascript:alert(xxx)のようなリダイレクトでのXSS 防ぐ場合
schemeをhttp/httpsのみに絞る
Rubyでの挙動
URI#hostの値も設定可能であるため、hostの有無を想定するURLかどうかのは判定には使用できない
code:ruby
require 'uri'
uri = URI.parse('javascrpt:aaa')
puts uri
# => javascrpt:aaa
puts uri.host
# =>
uri = URI.parse('javascrpt://example.com/path#?')
puts uri.host
# => example.com
open-uriが読み込まれていたとしてもjavascript:をパースしたオブジェクトでは.readが呼び出せずエラーになる 事例