Вообщем, проверка в файле classes\modules\sys_security\Security.class.php не все учитывает:
if (isset($_SERVER['HTTP_REFERER'])) {
$aUrl=parse_url($_SERVER['HTTP_REFERER']);
if ($aUrl['host']==$_SERVER['HTTP_HOST']) {
return true;
}elseif (preg_match("/\.".quotemeta($_SERVER['HTTP_HOST'])."$/i",$aUrl['host'])){return true;}
}
parse_url разбивает запись host.xxx:8080 на две и сравнение происходит неверно.
я заменил $aUrl['host']==$_SERVER['HTTP_HOST'] на $aUrl['host'].(isset($aUrl['port'])?":".$aUrl['port']:"")==$_SERVER['HTTP_HOST']
заработало(denwer)
if (isset($_SERVER['HTTP_REFERER'])) {
$aUrl=parse_url($_SERVER['HTTP_REFERER']);
if ($aUrl['host']==$_SERVER['HTTP_HOST']) {
return true;
}elseif (preg_match("/\.".quotemeta($_SERVER['HTTP_HOST'])."$/i",$aUrl['host'])){return true;}
}
parse_url разбивает запись host.xxx:8080 на две и сравнение происходит неверно.
я заменил $aUrl['host']==$_SERVER['HTTP_HOST'] на $aUrl['host'].(isset($aUrl['port'])?":".$aUrl['port']:"")==$_SERVER['HTTP_HOST']
заработало(denwer)