QQ 1640076782

2009年12月1日

OsCommerce外贸建网,如何去掉地址栏中的SESSION ID?

Filed under: 网站程序OSC — past @ 10:21 上午

OsCommerce中如何去掉地址栏中的SESSION ID?

安装了OsCommerce,但它默认的情况下会在地址栏中带有SESSION   ID的值,象:
osCsid=3a25825a6a93d8b541cf5b936b4f7611
这样看上去很不爽,对于网站搜索也不利,那有什么办法可以去掉呢?

具体解决办法:

具体在includes/functions/html_output.php里
有个函数叫tep_href_link()
这个是OSCommerce里所有连接都要用到的函数
里面有定义加不加sessionid的代码
可以看到:

if (isset($_sid)) {

$link .= $separator . tep_output_string($_sid);

}

return $link;

}

屏蔽掉IF这一段:

/*if (isset($_sid)) {

$link .= $separator . tep_output_string($_sid);

}*/

然后再找到includes/functions/application_top.php里

// set the session name and save path

tep_session_name(‘osCsid’);

tep_session_save_path(SESSION_WRITE_DIRECTORY);

// set the session cookie parameters

if (function_exists(‘session_set_cookie_params’)) {

session_set_cookie_params(0, $cookie_path, $cookie_domain);

} elseif (function_exists(‘ini_set’)) {

ini_set(‘session.cookie_lifetime’, ’0′);

ini_set(‘session.cookie_path’, $cookie_path);

ini_set(‘session.cookie_domain’, $cookie_domain);

}

同样屏蔽掉IP这一段:

//// set the session cookie parameters
//
//   if (function_exists(‘session_set_cookie_params’)) {
//
//    session_set_cookie_params(0, $cookie_path, $cookie_domain);
//
//  } elseif (function_exists(‘ini_set’)) {
//
//    ini_set(‘session.cookie_lifetime’, ’0′);
//
//    ini_set(‘session.cookie_path’, $cookie_path);
//
//    ini_set(‘session.cookie_domain’, $cookie_domain);
//
//  }

OK,这样就能除去地址栏的seeion id,并不影响网站的session功能