ramzes, так этот "махлен" через исходный код поправил и делов то... по мне так уж лучше обезопаситься по полной. Это рядовой пользователь ни за что не додумается что такие возможности имеются, а нехорошие люди могут наворотить чего)
# ValekS (25.12.2016 / 23:40)
Я так понял что у тебя на сайте открыл исходный код страницы - попал в бан. Гг
Нет. Заслал строку которую ты не мог ввести в форму из-за макслен - ты злоумышленник. Пытался подделать запрос.
Это просто и очевидно. А банит система у меня только ботов и за поиск админки, на остальное наплевать.
Т.е. у тебя макслен 20, тебе прилетает строка 21 символ - будь уверен запрос поддельный
Zidan_@777@, Ты не понял о чем речь была
Ну для кол-во символов в логине я mb_strlen юзаю.
# PaRtiZzaN (26.12.2016 / 08:31)
Ну для кол-во символов в логине я mb_strlen юзаю.
А разве у тебя в логине используется кириллица? В шаблоне регулярного выражения я не видел русских букв, а значит там валидны только буквы латиницы. И если это так, то strlen() в помощь.
ДоХтор, Т.е. mb_ для кирилицы?
PaRtiZzaN, mb_ для многобайтовых кодировок. Не только strlen, посмотри в мануале.
Пока буду искать по интернету, спрошу тут.
Обнаружил у себя на сайте проблему при скачивание файла. Бывает что не качается файл(белая страница). Возможно влияет на это названия файла, лишние символы.
Вот мой код, когда я жму скачать файл.
case 'save':
$filename = 'file/'. $file['id'] .'.dat';
$fn = $file['name'] . $file['ext'];
if (!file_exists($filename)) {
header ('HTTP/1.0 404 Not Found');
exit;
}
$fsize = filesize($filename);
$ftime = date("D, d M Y H:i:s T", filemtime($filename));
$fd = @fopen($filename, 'rb');
if (!$fd) {
header ('HTTP/1.0 403 Forbidden');
exit;
}
mysql_query("UPDATE `load_file` SET `loads` = `loads`+1 WHERE `id` = '". $file['id'] ."' LIMIT 1");
// Если запрашивающий агент поддерживает докачку
if ($HTTP_SERVER_VARS["HTTP_RANGE"]) {
$range = $HTTP_SERVER_VARS["HTTP_RANGE"];
$range = str_replace("bytes=", "", $range);
$range = str_replace("-", "", $range);
if ($range) {fseek($fd, $range);}
}
$content = fread($fd, filesize($filename));
fclose($fd);
if ($range) {
header('HTTP/1.1 206 Partial Content');
} else {
header('HTTP/1.1 200 OK');
}
header('Content-Disposition: attachment; filename='. $file['name'] .'_'. $file['android'] .'-[названия сайта]'.$file['ext']);
header('Last-Modified: '. $ftime);
header('Accept-Ranges: bytes');
header('Content-Length: '. ($fsize-$range));
header('Content-Range: bytes $range-'.($fsize -1).'/'.$fsize);
header('Content-type: application/octet-stream');
print $content;
exit;
break;
Знаю, что код старый и убогий. Как решить проблему и можно усовершенствовать код? Если да, то подскажите как. Желательно написать примеры. Заранее спасибо.
так вот не сказать, это надо на реальных примерах смотреть. следи что бы не было кавычек в названии (первое что на ум приходит)