糞エンジニアでごめんなさい。

Twitter ツイート Hatena Bookmark ブックマーク

http://d.hatena.ne.jp/gnarl/20100921/1285065333

ここの問題をやってみましたが。結局XSS対策うまく出来てないようです。。。。
だれか答えを教えてください。。。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php
function expandString( $str ) {

	$str = htmlspecialchars($str,ENT_QUOTES );
	$pattern = array("/(\#)([a-zA-Z1-9]*)/i","/(@)([a-zA-Z1-9]*)/i","/(https|http?:\/\/[\w-.!~*'\" ();\/?:@&=+\$,%\#]+)/i");
	$replace = array('<a href="http:\/\/twitter.com\/#search?q=%23\2">\1\2</a>','<a href="http:\/\/twitter.com\/\2/">\1\2</a>','<a href="\1">\1</a>');

	return preg_replace($pattern,$replace, $str);


}
?>
comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。