**[[質問箱4/561]] [#r5ecbad2]
#author("2018-03-11T20:57:42+09:00;2010-03-02T15:45:24+09:00","","")
**[[質問箱/4561]] [#r5ecbad2]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|タイトルにスペースを含む場合、Yahoo検索から存在しないページにユーザーが来訪する件|
|~バージョン|1.4.7|
|~投稿者|[[TOBY]]|
|~状態|質問|
|~投稿日|&new{2010-02-28 (日) 07:45:29};|
***質問 [#l48f31d4]
質問させて頂きます。

以前より"Hoge Mage"というタイトルのページがすでにあるのに
"Hoge+Mage"というページを新規で作成を乱発されるという、
スパム書き込みのような、そうでもないような書き込みが相次ぎ困っており、
何とかこちらで出来る対処はないものか?と思い書き込んだ次第です。

[[spam_filter.php:http://miasa.info/index.php?%C8%FE%CB%E3Wiki%A4%C7%A5%B7%A5%B9%A5%C6%A5%E0%C5%AA%A4%CB%BD%A4%C0%B5%A4%B7%A4%C6%A4%A4%A4%EB%C5%C0#ofa18e88]]によりCAPTCHAの導入をしていることもあり、
またアクセス解析を見るに手動で書き込んでいるようです。


アクセス解析など原因を調査したところ、Yahoo検索からの来訪者のようで、
Yahoo検索からは、Pukiwiki上のタイトルにスペースを含むページに飛ぶと、
スペースの変わりに"+"に置き換えたURLに飛ぶようでした。
具体的には、元のURLに%20を含むと%2Bに置換したURLに飛んでくるようです。

例:"Hoge Mage"というもとのページではなく、Yahoo検索では"Hoge+Mage"というページに飛ぶ
(Googleではこのようなことはありません)

こちらのwiki以外でも同様のことが起こっているはずです。


対処法としては、
-"Hoge+Mage"ページを作って"Hoge Mage"へ誘導する
-"Hoge+Mage"ページを作って#includeで"Hoge Mage"を読み込む
-%2Bを含むアクセス(Hoge+Mage)を%20(Hoge Mage)へ飛ばす

などがあると思いますが、

前者2つはページがかなり多すぎるため、難しいと感じています。
最後の方法を取るものとして、どのような指針を立てたものでしょうか?


念のため、Yahoo検索には報告済みです。

環境は Pukiwiki 1.4.7 EUC版です。


***回答 [#rbe6cd3b]
- [[dev:BugTrack2/294]] のコメントにあるindex.php?cmd=read&page=t+e%20s%20t とindex.php?t+e%20s%20t の処理の違いが原因かな?前者はPHP の開始時に(前処理をしてから)$_GET['page'] にページ名が格納されますが、後者はlib/init.php でエミュレートしているようなものですから。&br;[[plus:質問箱/250]]のような方法か、
  // cmdもpluginも指定されていない場合は、QUERY_STRINGをページ名かInterWikiNameであるとみなす
  if (! isset($vars['cmd']) && ! isset($vars['plugin'])) {
  
  	$get['cmd']  = $post['cmd']  = $vars['cmd']  = 'read';
  
  	if ($arg == '') $arg = $defaultpage;
 -	$arg = rawurldecode($arg);
 +	$arg = urldecode($arg);
  	$arg = strip_bracket($arg);
  	$arg = input_filter($arg);
  	$get['page'] = $post['page'] = $vars['page'] = $arg;
  }
とするか、が回避法ですかね。 --  &new{2010-02-28 (日) 19:03:34};
- ありがとうございます。うーんなるほど、 [[plus:質問箱/250]] (なんと2007年の話題…)の話題そのものの内容ですね。回避法のパッチ試してみます。 -- [[TOBY]] &new{2010-03-02 (火) 11:06:28};
- あ、あれ、本当ですね。index.php?cmd=read&page=Hoge+Mageではちゃんと"Hoge Mage"のページに飛びますね。 -- [[TOBY]] &new{2010-03-02 (火) 11:15:21};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.059 sec.

OSDN