人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

URIの正規表現で質問させてください
http://www.hoge.com/foo/barなど普通のURIはいいのですが、
URIが正しいかのチェックをしようと思い
PHPにて|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i
とか
Zend_Uri::check($url)とかしたのですが、
@とか<>とかセキュリティ的にも\0とか不要であると思われるものをURI内に入れても普通にチェックを通ってしまいます
英数字、エンコードした時の文字とか有り得る文字以外はValidateチェックにて弾きたいと思うのですが、どのような正規表現が書けるものなのでしょうか?
[?&/%_-]*とかホワイトリスト的に書き加えようと思ったのですが、それ以外の有り得る文字列が分かりませんでした

・URI指示にてまず有り得ない文字が入っていたら排除したい
・NULLバイトなどセキュリティ的に問題があるものを排除したい

そもそもNULLバイトの場合は正規表現で省くのではなく、preg_match('/\0/', $uri)などで弾くのかもしれませんが

●質問者: yujinTODO
●カテゴリ:コンピュータ
○ 状態 :キャンセル
└ 回答数 : 0/0件

回答がありません
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ