Policy:User-Agent policy/ja

From Wikimedia Foundation Governance Wiki
Revision as of 00:18, 8 June 2019 by Omotecho (talk | contribs) (英語の語順と変えて構成。)

2015年現在、技術的に強制されたユーザーエージェント必須条件はないものの、必要に応じて個別の事例で強制される場合があります。[1]

ウィキメディアのサイト群では2010年2月15日付でリクエストごとにHTTP ユーザーエージェント ヘッダ が必要になりました。技術職員による運用上の決定であり、技術メーリングリストで発表と議論をしています[2][3]。根本原理としてユーザーエージェントのストリングを送信しないクライアントとは、そのほとんどが悪意のあるスクリプトでサーバに過剰な負担をかけ、プロジェクトの益にならないものです。ただしユーザーエージェントのストリングの非説明的既定値、すなわち Perl の libwww の使用分なども、ウィキメディアのウェブサイト (もしくは api.php などウェブサイトの一部) を利用するとブロックされる場合があります。

ユーザーエージェント (ブラウザもしくはスクリプト) からユーザーエージェント ヘッダを送信しない場合、次のようなエラー警告が表示される場合があります。

スクリプトは有効な情報を含むユーザーエージェントのストリングとして連絡先情報を使用するべきで、未使用の場合は予告なく IP ブロックの対象となる場合があります。

ユーザーエージェントから送信されたユーザーエージェント ヘッダがブラックリストに含まれる場合 (有益か無益かに関わらず「lwp」で始まるユーザーエージェント ストリングなど) は、 次のような状態を説明していない (偽の) エラー警告が表示される場合があります。

現在、このサーバーには技術的な問題が発生しています。一時的な現象であり、早急に対応する必要があります。数分後に再度、ご利用ください。

This change is most likely to affect scripts (bots) accessing Wikimedia websites such as Wikipedia automatically, via api.php or otherwise, and command line programs.[4] If you run a bot, please send a User-Agent header identifying the bot with an identifier that isn't going to be confused with many other bots, and supplying some way of contacting you (e.g. a userpage on the local wiki, a userpage on a related wiki using interwiki linking syntax, a URI for a relevant external website, or an email address), e.g.:

User-Agent: CoolToolName/0.0 (https://example.org/CoolTool/; CoolTool@example.org) UsedBaseLibrary/0.0

The generic format is <client name>/<version> (<contact information>) <library/framework name>/<version> [<library name>/<version> ...]. Parts that are not applicable can be omitted.

If you run an automated agent, please consider following the Internet-wide convention of including the string "bot" in the User-Agent string, in any combination of lowercase or uppercase letters. This is recognized by Wikimedia's systems, and used to classify traffic and provide more accurate statistics.

Do not copy a browser's user agent for your bot, as bot-like behavior with a browser's user agent will be assumed malicious.[5] Do not use generic agents such as "curl", "lwp", "Python-urllib", and so on. For large frameworks like pywikibot, there are so many users that just "pywikibot" is likely to be somewhat vague. Including detail about the specific task/script/etc would be a good idea, even if that detail is opaque to anyone besides the operator.[6]

詳細情報はMediaWiki API 説明文書をご参照ください[7]

Web browsers generally send a User-Agent string automatically; if you encounter the above error, please refer to your browser's manual to find out how to set the User-Agent string. Note that some plugins or proxies for privacy enhancement may suppress this header. However, for anonymous surfing, it is recommended to send a generic User-Agent string, instead of suppressing it or sending an empty string. Note that other features are much more likely to identify you to a website — if you are interested in protecting your privacy, visit the Panopticlick project.

Browser-based applications written in Flash or JavaScript are typically forced to send the same User-Agent header as the browser that hosts them. This is not a violation of policy, however such applications are encouraged to include the Api-User-Agent header to supply an appropriate agent.

注記

  1. http://thread.gmane.org/gmane.science.linguistics.wikipedia.technical/83870/
  2. The Wikitech-l 2010年2月話題ごとの過去ログ
  3. User-Agent: | Wikipedia | Wikitech
  4. API:FAQ - MediaWiki
  5. [Wikitech-l] User-Agent:
  6. Anomie (31 July 2014). "Clarification on what is needed for "identifying the bot" in bot user-agent?". Mediawiki-api. 
  7. ユーザーエージェント設定に関する (その他の例の中の) 一例として、 PHP で cURL ハンドルが$ch:
    curl_setopt($ch, CURLOPT_USERAGENT ,'CoolToolName/0.0 (https://example.org/CoolTool/; CoolTool@example.org) UsedBaseLibrary/0.0');
    
    の場合。この方法を使うことができます