ジブン用メモ
■禁止ワード(正規表現)
\/[^a-z0-9][a-z0-9][a-z0-9]?[a-z0-9]?\.[a-z][a-z][a-z]?\/
\n\s*h?ttp:\/\/[a-z0-9.]*\/[\?a-z0-9]*\/
■ツール:正規表現チェッカー
PHP正規表現チェッカー■解説その1
・正規表現
\/[^a-z0-9][a-z0-9][a-z0-9]?[a-z0-9]?\.[a-z][a-z][a-z]?\/
・意図
転送アドレスサイトの拒否
/3文字以内 . 3文字または2文字/ の文字列を拒否する
4文字以上のドメインは通常のサイトもあると判断し許可
・禁止される文字列の例
/abc.com/
/ab9.com/
/ab.com/
/a9.com/
/a.com/
/9.com/
/abc.jp/
/ab9.jp/
/ab.jp/
/a9.jp/
/a.jp/
/9.jp/
・禁止されない文字列
/abcd.com/
/www.abc.com/
/0.01/
abc.com/
www.abc.com/
■解説その2
・正規表現
\n\s*h?ttp:\/\/[a-z0-9.]*\/[\?a-z0-9]*\/
・意図
よくあるアダルト系スパムメッセージのアドレス拒否
行の先頭に http:://ドメイン/フォルダ/ 形式のアドレスを拒否する
h抜きのttpも拒否
行の先頭にスペースを数個置いた場合も回避できないように
・禁止される文字列の例
【行の先頭】http://www.abc.com/abcdef/
【行の先頭】http://abc9.co.jp/abcdef/
【行の先頭】http://abc.com/Abc9DE/
【行の先頭】ttp://abc9.co.jp/abcdef/
【行の先頭】 http://abc9.co.jp/abcdef/
・禁止されない文字列
【行の先頭】http://abc.com/abcdef/index.html
【行の先頭】http://abc.com/abcdef/abc/
→ http://abc.com/abcdef/
リンク先 http://abc.com/abcdef/
■バグ?
・行末が正しく認識されない模様
abc$ で abc【文の最後】がFC2上でチェックされない
\r?\nで改行をチェックするのがいいかも
ただし文の最後の行はチェックできない
スポンサーサイト