**tradelist.inc.php [#r6dbbb07]
|RIGHT:100|LEFT:360|c
|~サマリ|コレクター御用達トレードリスト管理プラグイン|
|~リビジョン|1.0|
|~対応バージョン|1.4.2|
|~投稿者|[[Nekyo]]|
|~投稿日|&new{2004-02-25 (WED) 00:55:08};|
***概要 [#ff8d39fd]
~自ページ内の一覧と個数から管理された在庫情報から、探しているものと提供可能なものに振り分けてテーブルに展開してトレードリストを作成します。
~自分で欲しいから作りました。
~RSSで、トレードリストを他のサイトに配信することも可能です。

***掲載先 [#s27b1400]
~http://nekyo.hp.infoseek.co.jp/ → IsWeb/tradelist を選択して下さい。
***サイト内関連ページ [#a082abb1]
#related
***コメント [#t77daf14]
-[[名無しさん]] &new{2004-03-29 (MON) 06:31:33};
~&color(red){XSSの脆弱性が存在します。};下記のように出力部分の修正が必要です。
    function plugin_tradelist_convert()
    {
    	$argc = func_num_args();
    	$argv = func_get_args();
    
    	$title1 = TAKETITLE;
    	$bgcol1 = "";
    	$title2 = GIVETITLE;
    	$bgcol2 = "";
    
    	if (($argc >= 1) && $argv[0]) {
 -  		$title1 = $argv[0];
 +  		$title1 = htmlspecialchars($argv[0]);
    	}
    	if (($argc >= 2) && $argv[1]) {
 -  		$bgcol1 = " bgcolor=\"$argv[1]\"";
 +  		$bgcol1 = " style=\"background-color:".htmlspecialchars($argv[1])."\"";
    	}
    	if (($argc >= 3) && $argv[2]) {
 -  		$title2 = $argv[2];
 +  		$title2 = htmlspecialchars($argv[2]);
    	}
    	if (($argc >= 4) && $argv[3]) {
 -  		$bgcol2 = " bgcolor=\"$argv[3]\"";
 +  		$bgcol2 = " style=\"background-color:".htmlspecialchars($argv[3])."\"";
    	}
    
    	list($takelist, $givelist) = separate_givetake();
    	if ($takelist || $givelist) {
 -  		$output .= "<table border=1 cellspacing=0>\n";
 +  		$output .= "<table border=\"1\" cellspacing=\"0\">\n";
    		for ($i = 0; $i < count($takelist); $i++) {
    			if ($i == 0) {
 -  				$output .= "<tr><th colspan=2 $bgcol1>$title1</th></tr>\n";
 +  				$output .= "<tr><th colspan=\"2\" $bgcol1>$title1</th></tr>\n";
    			}
    			$output .= preg_replace("/^(.+):(.+)$/", "<tr><th>$1</th><td>$2</td></tr>\n", $takelist[$i]);
    		}
    		for ($i = 0; $i < count($givelist); $i++) {
    			if ($i == 0) {
 -  				$output .= "<tr><th colspan=2 $bgcol2>$title2</th></tr>\n";
 +  				$output .= "<tr><th colspan=\"2\" $bgcol2>$title2</th></tr>\n";
    			}
    			$output .= preg_replace("/^(.+):(.+)$/", "<tr><th>$1</th><td>$2</td></tr>\n", $givelist[$i]);
    		}
    		$output .= "</table>\n";
    	}
    	return $output;
    }

#comment

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新の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.038 sec.

OSDN