idHTTP et upload via php et ModSecurity
J'avais un code qui fonctionnait bien en appelant un fichier php de mon site pour uploader un fichier.
Depuis quelques temps, cela ne marche pas car je pense que mon hébergeur à ajouter le ModSecurity.
J'obtiens cela en log sur mon site :
Citation:
ModSecurity: Access denied with code 406 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS_NAMES. [file "remote server"] [line "-1"] [id "600004"] [msg "Malware.Expert - Unauthenticated upload"]
Et voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| HTTP := TIdHTTP.Create;
HTTP.Request.UserAgent := 'Mozilla/5.0 (compatible;MyApp)';
Stream := TStringStream.Create;
Params := TIdMultipartFormDataStream.Create;
Params.AddFile('toto', Fn, 'application/octet-stream'); // MIME
try
HTTP.Post(Website+'/support/upload.php', Params, Stream); // là, cela génére un code erreur 406
result := true;
except
on E: Exception do
begin
Memo.Lines.Insert(0, 'ERROR: (P) ' + E.Message);
end;
end;
Params.Free;
Stream.Clear;
Stream.Free;
HTTP.Free; |