У меня есть сайт php, в codeigniter, который позволяет пользователям загружать файлы.Загрузка отлично работает для большинства файлов.Но для нескольких файлов nginx выдает ошибку 403 Forbidden .как
<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
Это один из примеров .rb файла, который не удается загрузить
# Sample code from Programing Ruby, page 58
string = <<END_OF_STRING
The body of the string
is the input lines up to
one ending with the same
text that followed the '<<'
END_OF_STRING
Если я удаляю '<<'
из этого файла, загрузка работает.Где происходит эта фильтрация?
Я видел журналы ошибок nginx, там ничего нет.Я видел журналы codeigniter, там ничего нет.Запрос на загрузку Infact не достигает моего контроллера Codeigniter , поэтому перед его достижением nginx должен быть заблокирован?
Вот код загрузки в Javascript
function upload(file, params) {
var formData = new FormData();
formData.append("Filedata", file);
$.each(params, function(key, value) {
formData.append(key, value);
});
var xhr = new XMLHttpRequest();
var action = "/upload/file";
xhr.upload.onprogress = function(e){
// show progress with e.loaded, e.total
};
xhr.onerror = function(e) {
// handle error
};
xhr.open("POST", action, true);
xhr.send(formData);
}
На сервересторона, у меня есть простой код на данный момент.
if( !isset($_FILES['Filedata']) || !file_exists($_FILES['Filedata']['tmp_name']) )
{
die('File not submitted.');
} else {
// Save file code is here
}