ページの先頭です。本文を読み飛ばして、このサイトのメニューなどを読む
サイト内の現在位置です:
sub uri_escape_utf8_ex
{
my $str = shift;
$str = uri_escape_utf8($str);
$str =~ s/(')/'%' . unpack('H2', $1)/eg;
$str;
} my $sq = join '&',
map { $_ . '=' . uri_escape_utf8_ex( $q{$_} ) } sort keys %q; my $sq = join '&',
map { $_ . '=' . uri_escape_utf8( $q{$_}, '^A-Za-z0-9\-_.~' ) } sort keys %q;
<?php
define('SESSION_NAME_SALT', 'abaeifi');
$session_lifetime = ini_get('session.gc_maxlifetime');
$time = time();
$time_curr = $time - $time%$session_lifetime;
$time_prev = $time - $time%$session_lifetime - $session_lifetime;
$session_name_prefix = ini_get('session.name');
$session_cookie_name = $session_name_prefix.'_'.md5(SESSION_NAME_SALT.$_SERVER['HTTP_USER_AGENT'].$_SERVER['HTTP_ACCEPT_LANGUAGE'].$time_curr);
$session_cookie_name_prev = $session_name_prefix.'_'.md5(SESSION_NAME_SALT.$_SERVER['HTTP_USER_AGENT'].$_SERVER['HTTP_ACCEPT_LANGUAGE'].$time_prev);
if (isset($_COOKIE[$session_cookie_name_prev])) {
if (!isset($_COOKIE[$session_cookie_name])) {
$session_id = $_COOKIE[$session_cookie_name_prev];
session_id($session_id);
}
setcookie($session_cookie_name_prev, "", time()-3600, ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
}
ini_set('session.name', $session_cookie_name);
session_start();
$_SESSION['cnt']++;
#debug output
echo $session_lifetime.'<br />';
echo $time.'<br />';
echo $time_curr.'<br />';
echo $time_prev.'<br />';
echo $session_name_prefix.'<br />';
echo $session_cookie_name.'<br />';
echo $session_cookie_name_prev.'<br />';
echo 'cnt:'.$_SESSION['cnt'].'<br />';
echo '<pre>';
echo htmlspecialchars(print_r($_SERVER, true));
echo '</pre>';