<?php

	/** 要望内容

		cookie付与URLにcookie有効期限制御引数を追加

		c_cd=日数値(※ex:1=1日、5なら5日間）

		※数値は1以上の整数値

		備考：c_cdのパラメータが無い場合、ディフォルトは1日間

				nullの場合、1以下の場合のディフォルトも1日間

		環境 : Server	Apache/2.2.11 (Win32) mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.3



		元々のソースコード 下記2行

		setcookie("agent",$_REQUEST["a_cd"] . "&" . $_REQUEST["b_cd"],time() + (3600 * 24));

		header("Location: " . str_replace("$","?",str_replace("!","&",$_REQUEST["link"])) );



	**/



	//エラー表示しない

	error_reporting(0);

	ini_set('display_errors', 'Off');



	//cookie有効期限制御

	$c_cd = 1; //cookie保持期間制御パラメータ - デフォルト値

	if( !empty( $_REQUEST['c_cd'] ) && is_numeric($_REQUEST['c_cd']) )

	{

		$c_cd = intval($_REQUEST['c_cd'],10);

		if( $c_cd < 1 ) $c_cd = 1;

	}

	$expire = time() + ( 60 * 60 * 24 * $c_cd );



	//cookie内容

	$params = array();

	$params[] = $_REQUEST['a_cd'];

	$params[] = $_REQUEST['b_cd'];



	//cookie保存

	if( !empty($params) )

		setcookie('agent', implode('&', $params), $expire );

	

	if( !empty( $_REQUEST["link"] ) )

	{

		//URLを正規化(下記ルールがあるみたい…元々のソースに書かれていました)

		$url = str_replace( '$', '?', str_replace( '!', '&', $_REQUEST['link']));



		//最低限のURLチェック

		if( preg_match('/^(http|https):\/\/[-\w\.]+(:\d+)?(\/[^\s]*)?$/', $url) )

		{

			header('HTTP/1.1 301 Moved Permanently');

			header('Location: ' . $url );

		}

	}

	

	exit(0);


