トップページ | 過去記事(月別カテゴリー別) | 掲示板 | 野良DEB,RPM | 更新チェック | Twitter
<<  2012.12 >>
SMTWTFS
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
 
リンク
その他
  • RSS2.0
  • Credit

  • SEO
    loading

    プライバシーポリシー
    Google

カテゴリー » 戯言 December 19, 2012

キッズgooのフィルタリングを回避する

キッズgooを通して http://linux.ikoinoba.net/ を開いたら、下のように表示されました。
「ごめんね。ページがひょうじできませんでした。」
キッズgoo上では、検索結果からジャンプするページを表示する際、プログラムにより表示を制御(フィルタリング)しています。このため、ページによっては、キッズgoo上で表示されない場合がございますのでご了承ください。
子どもにとって有害なサイトだと判定されたわけですな。

「テキストを少し消す→再読み込み」を繰り返し、何の単語が引っかかったのか調査すると、
萌えぶんちゅ
<!-- track word -->
11:53PM
“萌え”はともかく“word”を禁止ワードにしている意図が謎です。“3P”も、これで有害だと判断するのはどうなのよ?

フィルタリングは、数値文字参照で書くことで回避できますね。
萌え → &#33804;&#12360;
word → &#119;&#111;&#114;&#100;
3P → &#51;&#80;
手動で書き換えるのは面倒。たぶんPHPに何か関数があるだろ…と思って調べたら、やっぱりありました。 mb_encode_numericentityで変換できます。
<?php
...
// これだけだとHTMLやJavaScriptなどを壊す可能性が…
// PHP 5.5.0からpreg_replaceのe修飾子は非推奨になっていて、preg_replace_callbackを使うべきだそうな
$hoge = "萌え|word|3P";
$html = preg_replace("/($hoge)/iue", "mb_encode_numericentity('\\1', array(0x0000, 0xffff, 0, 0xffff),'UTF-8')", $html); 
echo $html;
?>
11:44 pm | コメントする |

上の記事に対するコメント

1. けんけん (Website)  2013/01/05 15:03
数値文字参照で回避とか神業♪

2. Owner CommentSawa  2013/01/05 21:24
今確認してみたら、また有害認定されていました。うぅぅ…

もう一度フィルターに引っ掛かった単語を調べないと…


累計:1112854、今日:912、昨日:2834
Created in 0.0074 sec.