Securiser l'upload du fichier

Résolu
LearnDeep Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -  
LearnDeep Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour , je veux sécuriser l'upload de mes fichiers en php pdo mais je ne sais pas comment.


<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true ");
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS, FILES');
header("Access-Control-Allow-Headers: X-Custom-Header, Origin, Content-Type , Authorisation , X-Requested-With");
header("Content-Type: application/json; charset=UTF-8 ");
header("Referrer-Policy: origin-when-cross-origin");
header("Expect-CT: max-age=7776000, enforce");
header('Strict-Transport-Security: max-age=16070400; includeSubDomains');
header('X-XSS-Protection: 1; mode=block');
header('X-Content-Type-Options: nosniff');
header('X-Frame-Options: SAMEORIGIN');



$target_dir = "../../Meslek/MeslekCombat/src/assets/uploads/";
$target_file = $target_dir . basename($_FILES["image"]["name"]);
$target_file_video = $target_dir . basename($_FILES["video"]["name"]);



function conn()
{
  try{
  $bdd =new PDO('mysql:host=localhost; dbname=meslek; charset=utf8', 'root', '');
  $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
} catch(PDOException $e) {
    die('Erreur : ' . $e->getMessage());
}
 return $bdd;
}

$categorie =    htmlspecialchars($_POST['categorie'], ENT_QUOTES);
$titre =      htmlspecialchars($_POST['titre'], ENT_QUOTES);


if ( empty($titre) || empty($categorie)   ) {
    echo json_encode(false);
    die;
} else {

if(!empty($_FILES["image"])){
    move_uploaded_file($_FILES["image"]["tmp_name"], $target_file);   
    $photo = basename( $_FILES["image"]["name"]);
}

if(!empty($_FILES["video"])){
    move_uploaded_file($_FILES["video"]["tmp_name"], $target_file_video);   
    $video = basename( $_FILES["video"]["name"]);
}


$db = conn();


/*if (empty($_FILES["image"])){
    $photo = "none";
}

$prepred = $db->prepare("INSERT INTO produit (categorie, marque, prix, couleur, qte, niveau, photo) VALUES(?,?,?,?,?,?,?)");
$prepred->execute([$category, $marque, $prix, $couleur, $qte, $niveau, $photo]);*/

echo json_encode(true);
}


?>

A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Commence par appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
(n'oublie pas de mettre CHAQUE requete dans un bloc try/catch )

Et faudrait également nous détailler le souci rencontré...
<<sécuriser en pdo>>..ça ne veut pas dire grand chose
0
LearnDeep Messages postés 67 Date d'inscription   Statut Membre Dernière intervention  
 
le problème est comment garantir la sécurité des fichiers transférés au serveurs $_FILES["video"], $_FILES["image"], comment les proteger et mettre les extensions et la taille amaximale etc ...
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > LearnDeep Messages postés 67 Date d'inscription   Statut Membre Dernière intervention  
 
ça n'a donc aucun rapport avec PDO...

et... visiblement tu n'as pas dû chercher beaucoup avant de venir poster ta demande ici...
Voici de quoi t'orienter :
https://antoine-herault.developpez.com/tutoriels/php/upload/
0
LearnDeep Messages postés 67 Date d'inscription   Statut Membre Dernière intervention  
 
merci
0