Où utiliser mysql_real_escape_string pour empêcher l'Injection SQL?

Je suis en difficulté, avec un groupe de hackers. ils ont piraté mon site client à quelques reprises, et mon client devient de plus en plus en colère 🙁 mon client a perdu sa base de données (qui a des centaines de dossiers), et a dû entrer tous 🙁

maintenant, je suis à la suite de certaines plus introductions;

  • fixe les autorisations de fichier
  • changé ftp hôte et les informations de connexion au
  • effacé tous mysql distant accède

en train de travailler sur le problème d'Injection SQL. J'ai ajouté mysql_real_escape_string à l'admin de connexion au panneau paramètres. Alors, où dois-je utiliser ce mysql_real_escape_string ? J'ai quelques formes e-mail sur le site, je ne pense pas que j'ai besoin d'y ajouter...

J'ai un index.php en tant que page d'accueil. Dois-je faire quelque chose pour cette page afin de prévenir toute attaque par injection sql via l'url comme index.php?somesql= ?

Merci de me conseiller! J'apprécie tellement!!! 🙁


par exemple:

J'ai ce code;

public function showDetails($id) {

    //SQL Jobs Details
    $this->sql_job = "SELECT * FROM jobs WHERE id=".mysql_real_escape_string($id);
    $this->rst_job = mysql_query($this->sql_job);           
    $this->row_all = mysql_fetch_assoc($this->rst_job);     

    //SQL State
    $this->sql_state = "SELECT title FROM state WHERE id=" . $this->row_all[$this->tbl_jobs['f4']];
    $this->rst_state = mysql_query($this->sql_state);   
    $this->row_state = mysql_fetch_assoc($this->rst_state);
........

est-il suffisant pour utiliser mysql_real_escape_string pour $id . pas pour $this->row_all[$this->tbl_jobs['f4']]

Je suis un MSSQL mec, donc j'espère que cela s'applique -- pourquoi un site web de connexion même avoir l'autorisation de supprimer quelque chose? Comme pour la perte d'une base de données, où sont les sauvegardes??
"SELECT * from emplois where id=".mysql_real_escape_string($id) est vulnérable à l'injection sql. $id="1 ou sleep(50)"
+1 vers la tour. mysql_real_escape_string n'est pas une solution magique, c'est juste une chaîne de s'échapper de la fonction et ne fonctionne que lorsqu'il est utilisé à l'intérieur des guillemets.

OriginalL'auteur designer-trying-coding | 2010-02-22