*URLが擬装できる [#j4ad3fc6]

-ページ: [[BugTrack2]]
-投稿者: [[and]]
-優先順位: 低
-状態: 提案
-状態: 完了
-カテゴリー: その他
-投稿日: 2005-04-03 (日) 08:31:13
-バージョン: 

#contents

**メッセージ [#q4bcdded]
例えばこんな感じにすると
 [[http://www.google.com:http://www.yahoo.com]]
 [[http://www.google.com:http://www.yahoo.com]]
Googleのように見せかけてYahooに飛ばせます。
先日のエイプリルフールに有効活用させていただきましたが、悪用も可能なのでできれば禁止しておいた方がよいような気がします。

**コメント [#cd0d2862]
-こんにちは :) このように書くと、[[BugTrack2/51]]のように見せかけて [[BugTrack2/50]] に飛ばすこともできます。 -- [[henoheno]] &new{2005-04-03 (日) 10:20:32};
 [[BugTrack2/51>BugTrack2/50]]
-内部のページ名の場合はともかく、外部リンクに対するものに関しては(過去に、先頭の小さなアイコンをつける案も出ています)何かのフィルタを行っても良いですよね。 -- [[henoheno]] &new{2005-04-03 (日) 10:21:11};
-[[スラッシュドット>http://slashdot.jp/]]などでは、外部リンクに対しては [[example.com:http://example.org/]] [example.org] のように、実際にリンクしている先のドメインを[]でくくった文字列を挿入し、読者に注意を促す仕組みがありますね。 -- [[henoheno]] &new{2005-04-03 (日) 10:22:34};
-[[スラッシュドット>http://slashdot.jp/]]などでは、外部リンクに対しては [[example.com:http://example.org/]] [example.org] のように、実際にリンクしている先のドメインを[]でくくった文字列を挿入し、読者に注意を促す仕組みがありますね。 -- [[henoheno]] &new{2005-04-03 (日) 10:22:34};
--[[BugTrack/730]]と似たような方法(警告画像を表示)でもいいかもしれません。 -- [[Ratbeta]] &new{2005-04-03 (日) 13:53:48};
-スラド方式に一票。 -- [[ishii]] &new{2005-04-03 (日) 14:10:23};
--私もスラド式に一票です。 -- [[okkez]] &new{2005-04-03 (日) 17:43:06};
-- こんな感じでしょうか((今のところ、このままコミットするつもりはないです (^^;)) -- [[teanan]] &new{2005-04-22 (金) 03:30:57};
 cvs diff -u make_link.php 
 Index: make_link.php
 ===================================================================
 RCS file: /cvsroot/pukiwiki/pukiwiki/lib/make_link.php,v
 retrieving revision 1.18
 diff -u -r1.18 make_link.php
 --- make_link.php	2 Apr 2005 03:04:14 -0000	1.18
 +++ make_link.php	21 Apr 2005 18:27:38 -0000
 @@ -369,7 +369,12 @@
 		} else {
 			$rel = ' rel="nofollow"';
 		}
 -		return '<a href="' . $this->name . '"' . $rel . '>' . $this->alias . '</a>';
 +		$parse = parse_url($this->name);
 +		$host = '';
 +		if (preg_match('/^https?/', $parse['scheme'])) {
 +			$host = ' [' . $parse['host'] . '] ';
 +		}
 +		return '<a href="' . $this->name . '"' . $rel . '>' . $this->alias . '</a>' . $host;
 	}
  }
--super_indexにした方がかっこいいかな (^^; -- [[teanan]] &new{2005-04-22 (金) 03:49:24};
#ref(superindex.gif,nolink)
 -			$host = ' [' . $parse['host'] . '] ';
 +			$host = ' <span class="super_index">[' . $parse['host'] . ']</span> ';
-ftp:とかmailto:とか他のプロトコルにも同様の対策が必要だと思われます。 -- [[Ratbeta]] &new{2005-04-22 (金) 19:18:03};
-何らかの対策の必要性を感じましたので再提案します。super_indexは読み難い場合があるので、ツールチップをつけてみました。また、[[Ratbeta]]さんの指摘にあるよう他のプロトコルの対策を行いました。なお、mailtoについては、メーラーでワンクッションあるものと想定し、対策を行っていません。 -- &new{2007-08-21 (火) 18:01:39};
-何らかの対策の必要性を感じましたので再提案します。super_indexは読み難い場合があるので、''ツールチップをつけてみました''。また、[[Ratbeta]]さんの指摘にあるよう他のプロトコルの対策を行いました。なお、mailtoについては、メーラーでワンクッションあるものと想定し、対策を行っていません。 -- &new{2007-08-21 (火) 18:01:39};
 make_link.php,v 1.35
 line 349-
  class Link_url extends Link
  {
 (中略)
 line 383-
	function toString()
	{
		if (FALSE) {
			$rel = '';
		} else {
			$rel = ' rel="nofollow"';
		}
 -		return '<a href="' . $this->name . '"' . $rel . '>' . $this->alias . '</a>';
 +		$parse = parse_url($this->name);
 +		$host = '';
 +		if (preg_match('/^(https?|ftp|news)/', $parse['scheme'])) {
 +			$host = ' <span class="super_index" title="' . $parse['host'] . '">[' . $parse['host'] . ']</span>';
 +		}
 +		return '<a href="' . $this->name . '"' . $rel . '>' . $this->alias . '</a>' . $host;
	}
 }
- 定数でオン/オフできるように実装できれば良いなぁと。 --  &new{2007-08-22 (水) 07:22:58};
- これは関連する別件、ページ間のリンクに対するURLを相対パスにしたいとか、anchor tagを自動的につける対象について、http/https/ftpのようなスキームの定義を一箇所に集約させたいとか、一定長以上のURLを上手に短縮表記したいといった件とあわせて考えてみて下さい。実現は段階的でもいいですが、複数のニーズを頭に入れずにやるとスパゲッティコードが増えるでしょう。そうした関連別件との相互リンクを作るところからやるといいと思いますよ -- [[henoheno]] &new{2007-08-23 (木) 00:40:36};
----

#comment

**関連案件 [#r307dbaa]
-要検討
--[[BugTrack/438]] 日本語URIのencode,decode問題
--[[BugTrack/490]] [PCRE] footnoteにメアドを書くと当該ページが開かなくなる
--[[BugTrack/520]] リンク名に file: を利用したい
--[[BugTrack/610]] URL中のIPv6アドレスの扱い
---[[BugTrack2/321]] IPv6でホストを指定した場合のURLの不適切な扱い
--[[BugTrack2/7]] URL にブラケットを使ってもいいように。 
--[[BugTrack2/101]] サイト内のページへのリンクにもhost名を含む完全なuriが使われている
--[[BugTrack2/213]] 相対/絶対 URI について($script、get_script_uri等) 
--[[BugTrack2/247]] 外部リンクをリダイレクトページ経由にすることで、Refererを消す
--[[BugTrack2/250]] 相対リンクで、意図しないページへのリンクになることがある

-考慮
--[[BugTrack/785]]  Adopting (Google) nofollow attribute 

-参考
--[[BugTrack2/40]] sftpプロトコルに対する自動リンク

-未発掘
--スキームの定義の重複
--一定長以上のURLを上手に短縮表記

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

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.042 sec.

OSDN