2017-01-04 3 views
-4

J'ai ces codes au moment:injection SQL PHP Prévenir/XSS

> <?PHP 
>         
>         if(isset($_POST['update'])) { 
>         $ts=$_POST['ts']; 
>         $user=$_POST['user']; 
>         
>         mysql_query("UPDATE users SET block_newfriends='$ts' WHERE username='$user'") or die(mysql_error()); 
>         echo '<div class="rounded-container">'; 
>         echo '<div class="rounded-green rounded-done">'; 
>         echo '<b>text here</b><br>'; 
>         echo '</div>'; 
>         echo '</div>'; 
>         } 
>         ?> 

et:

<?php 
              $query = "SELECT * FROM users WHERE id = '".$_SESSION['user']['id']."'"; 
              $result = mysql_query($query); 
              $row = mysql_fetch_array($result); 
              $x1 = $row['block_newfriends']; 
              $ch1[$x1] = "checked"; 
              echo "text here 
              "; 
              ?> 

Comme vous pouvez le voir, il inclut PHP. Mais je ne suis pas sûr si c'est sûr contre les hacks comme l'injection SQL ou XSS. Dois-je mettre une mysql_real_escape_string et si oui, où exactement?

+0

ok donc personne ne le sait? – IbraDigga

+0

Les fonctions 'mysql_ *' sont passées en PHP7. Arrête de les utiliser. Ensuite, allez lire sur l'injection SQL pour que vous compreniez **. Oui, ce code est massivement vulnérable à cela. – ceejayoz

+0

Voir aussi http://stackoverflow.com/documentation/php/2784/php-mysqli/12843/escaping-strings – Machavity

Répondre

-2

Pas sûr, vous devriez envisager d'utiliser l'instruction préparée