CSS Yomi-search

バナーURLをチェックする方法

画像の呼び出しを禁止しているサーバや、特定のファイル名のみ許可しているサーバを利用しているユーザの、バナーURLを制御する改造になります。

改造(カスタマイズ)参考元

ダウンロード

ダウンロードはCC-Room様のサイトからお願いします。

DLが完了しましたら、「pl」フォルダ内に格納してください。

registration.cgi
  • 654~680行目
	# バナーアドレスのURL
	if($EST_reg{bana_url}) {
		if($FORM{Fbana_url} eq "http://") {
			$FORM{Fbana_url}="";
		}
		# バナーのアップロード
		unless($EST{'disable_upload'} || $EST{'banner_path'} eq '' || $EST{'banner_path_url'} eq '') {
			if($FORM{Fbana_file}) {
				if(&upload::check($FORM{Fbana_file})) {
					my $temp_name = &upload::create_tempfile($EST{banner_path}, $FORM{Fbana_file});
					$FORM{Fbana_url} = &upload::compute_tempurl($EST{banner_path_url}, $temp_name) if($temp_name);
				} else {
					&mes("<ul>\n\t\t\t<li>バナー画像はJPEG,GIF,PNGのうちのどれかのみアップロードできます。(拡張子が.jpg/.gif/.pngのもの)</li>\n\t\t</ul>\n","ファイルタイプエラー","back_reg");
				}
			}
		}
		if($EST_reg{Fbana_url} && !$FORM{Fbana_url}) {
			&mes("<ul>\n\t\t\t<li>$EST{name_reg_banner}は<em class=\"error\">記入必須項目</em>です。</li>\n\t\t</ul>\n","記入ミス","back_reg");
		} elsif(($_=length($FORM{Fbana_url})-$EST_reg{Mbana_url})>0) {
			&mes("<ul>\n\t\t\t<li>$EST{name_reg_banner}は<em>半角$EST_reg{Mbana_url}文字以内</em>でご記入ください。</li>\n\t\t</ul>\n","文字数オーバー(半角換算で$_文字分)","back_reg");
		} elsif($FORM{Fbana_url} && $FORM{Fbana_url} !~ /^https?:\/\/.+\..+(\.gif|\.jpg|\.jpeg|\.png)(\?.*)?$/i) {
			&mes("<ul>\n\t\t\t<li>$EST{name_reg_banner}の入力が正しくありません。</li>\n\t\t</ul>\n","記入ミス","back_reg");
		}
	} else {
		$FORM{Fbana_url}="";
	}
	$FORM{Fbana_url}=~ s/\n//g;

上記部分を下記に変更してください。

	# バナーアドレスのURL
	if($EST_reg{bana_url}) {
		if($FORM{Fbana_url} eq "http://") {
			$FORM{Fbana_url}="";
		}
		# バナーのアップロード
		unless($EST{'disable_upload'} || $EST{'banner_path'} eq '' || $EST{'banner_path_url'} eq '') {
			if($FORM{Fbana_file}) {
				if(&upload::check($FORM{Fbana_file})) {
					my $temp_name = &upload::create_tempfile($EST{banner_path}, $FORM{Fbana_file});
					$FORM{Fbana_url} = &upload::compute_tempurl($EST{banner_path_url}, $temp_name) if($temp_name);
				} else {
					&mes("<ul>\n\t\t\t<li>バナー画像はJPEG,GIF,PNGのうちのどれかのみアップロードできます。(拡張子が.jpg/.gif/.pngのもの)</li>\n\t\t</ul>\n","ファイルタイプエラー","back_reg");
				}
			}
		}
		if($EST_reg{Fbana_url} && !$FORM{Fbana_url}) {
			&mes("<ul>\n\t\t\t<li>$EST{name_reg_banner}は<em class=\"error\">記入必須項目</em>です。</li>\n\t\t</ul>\n","記入ミス","back_reg");
		} elsif(($_=length($FORM{Fbana_url})-$EST_reg{Mbana_url})>0) {
			&mes("<ul>\n\t\t\t<li>$EST{name_reg_banner}は<em>半角$EST_reg{Mbana_url}文字以内</em>でご記入ください。</li>\n\t\t</ul>\n","文字数オーバー(半角換算で$_文字分)","back_reg");
		} elsif($FORM{Fbana_url} && $FORM{Fbana_url} !~ /^https?:\/\/.+\..+(\.gif|\.jpg|\.jpeg|\.png)(\?.*)?$/i) {
			&mes("<ul>\n\t\t\t<li>$EST{name_reg_banner}の入力が正しくありません。</li>\n\t\t</ul>\n","記入ミス","back_reg");
		}
		require './pl/denybnr.pl';
		foreach(@denybnr) {
			&mes("<ul>\n\t\t\t<li>バナーURLが画像の外部呼出し禁止サーバのものです。</li>\n\t\t</ul>\n","バナーエラー","back_reg") if $FORM{Fbana_url} =~ /$_/i;
		}
		foreach(@banner) {
			if($FORM{Fbana_url}=~ /$_/i) {
				&mes("<ul>\n\t\t\t<li>ご使用のサーバはbanner.拡張子のバナーのみ利用可能\です。</li>\n\t\t</ul>\n","バナーエラー","back_reg") if index($FORM{Fbana_url},'banner.') == -1;
			}
		}
	} else {
		$FORM{Fbana_url}="";
	}
	$FORM{Fbana_url}=~ s/\n//g;