Je suis nouveau sur ce forum et j'ai un dilemme avec mon site MySQL/PHP. Maintenant j'ai créé une fonction qui lui passera une requête SQL et l'exécutera. Ce dont je n'ai pas tenu compte, c'est le fait que ma requête SQL transmise à la fonction apparaît dans la "source de vue" de tous les navigateurs; ce qui est un gros problème de sécurité, car les pirates peuvent voir la requête. Voici un extrait de la fonction:Comment cacher les requêtes SQL des navigateurs web (PHP)
// connect to MySQL
$connection = mysql_connect($host,$username,$password) or die("Couldn't connect to MySQL". mysql_error());
// selects the database
$db = @mysql_select_db($db_name,$connection) or die("Couldn't select database");
function statement ($query)
{
global $connection, $db;
$sql = $query;
$results = mysql_query($sql, $connection) or die(mysql_error());
return $results;
}
Voilà comment elle est appelée:
$cat_results = statement("select * from $category");
est-il un moyen de cacher la requête passée du navigateur en utilisant la fonction je? Si pas de recommandations sur une meilleure approche de cette fonction?
Vraiment apprécier toutes les pensées sur ce !!
Andre
Il n'y a rien dans le code fourni qui enverra une requête au navigateur. Pouvez-vous fournir plus de détails/code? – lonesomeday
Certes, je peux vous montrer ce qui a été sorti sur les navigateurs "view source". Pardonnez le formatage!
@Andre ressemble à un bug dans votre code. Les balises courtes peuvent être désactivées ou vous pourriez faire quelque chose d'étrange avec des balises html/php mixtes. Personnellement, je n'utilise que l'impression de php ou un système de template. Le html et le php mélangés me font vomir. (Pas de blague) – rook