Question au sujet des bases de donnée
-
- Cet utilisateur a supprimé son compte et n’existe plus.
- Messages : 6340
- Inscription : 29 décembre 2010 à 18:15
Je suis actuellement entrain de créer un site pour un ami, il sera hébergé chez vous, j'ai déjà tout prévu et surtout j'ai déjà 2 sites chez vous et c'est donc pour ça que j'ai une question.
Sur mes 2 sites déjà en ligne, j'ai essayé de me faire une page d'administration pour éviter d'avoir à venir dans PMA à chaque fois, cette page est donc sous forme de formulaire que l'on rempli et qui, lorsqu'on appuie sur "ok" ou "envoyer" rempli la base de donner comme il se doit pour que l'affichage des rajout se fasse tout seul grâce à PHP et des requête MySQL. En local tout fonctionne à merveille, mais lorsque je test ça sur le site, on me refuse l'accès à la base de donnée.
Est-ce une erreur dans mes codes ou bien est-ce normal que l'on ne puisse pas agir ainsi une fois le site hébergé ?
Ca m'embete assez, pas pour mes 2 premiers site, c'est moi qui les gère donc aller dans PMA ne pose pas plus de problème que ça pour faire les rajouts, mais le 3eme que je suis entrain de faire serait rempli par une personne qui n'y connait rien, du coup ça m'embete un peu qu'elle soit obligé elle aussi de passer par PMA...
Je ne sais pas si je suis très clair, ni même si je post au bon endroit, alors si tel n'est pas le cas, j'en suis désolée.
Merci à toutes personnes qui pourra me répondre.
Cordialement.
Zoubidaz, alias Lolo.[/justify]
-
- Messages : 905
- Inscription : 2 avril 2010 à 20:14
D'après ce que je lis, c'est simplement du code PHP qui exécute des requêtes SQL. PMA n'est qu'une interface WEB pour administrer ses tables et pas forcement pour les remplir, on créent des sites pour cela
Je pense alors à une erreur dans votre code et avec le message d'erreur ca serai encore plus simple pour dire ce qui se passe
-
- Cet utilisateur a supprimé son compte et n’existe plus.
- Messages : 6340
- Inscription : 29 décembre 2010 à 18:15
Je donnerai le code dans mon prochain message ne vous en faite pas, c'est juste que je ne l'ai pas avec moi là, et en plus de ça je rencontre un autre problème qui lui m'embête bien plus parce que du coup ça fait foirer tout mon code ><
Merci de ta réponse en tous cas ^^
Edit : Désolée, c'était tout simplement de ma faute, j'avais oublié de remettre la connexion au serveur de franceserv et non plus à mon local
-
- Messages : 905
- Inscription : 2 avril 2010 à 20:14
Pour confirmer, oui l'extension PDO-MySQL de PHP est bien disponible et il en est de même pour les procédures stockées.
-
- Messages : 300
- Inscription : 7 mai 2010 à 19:27
-
- Cet utilisateur a supprimé son compte et n’existe plus.
- Messages : 6340
- Inscription : 29 décembre 2010 à 18:15
passionaqua : Comme je l'avais dis cette erreur là était tout simplement de ma faute, j'avais laissé mes code d'accès pour travaillé sur le local plutôt que ceux voulu une fois hébergé sur FranceServ ^^
Quoi qu'il en soit, le problème est résolu ! Merci pour vos réponses rapide
-
- Messages : 300
- Inscription : 7 mai 2010 à 19:27
Un petit conseil : As-tu pensés à utiliser un système contre les attaques CSRF ? C'est très conseillé
-
- Messages : 905
- Inscription : 2 avril 2010 à 20:14
Le CSRF n'est pas véritablement une attaque de l'extérieur comme c'est le propriétaire de la session lui même qui vas exécuter à son insu un code qui vas effectuer des actions à sa place. Ce code malicieux est d'ailleurs écrit uniquement pour un site donné et pour des actions connues à l'avance.
C'est donc une attaque très ciblée et assez rare. Il y a deux ans par exemple, le webmestre de WebRankInfo avait été attaqué via sa webmail chez Google Mail par une faille CSRF, c'est pour dire que même Google il y a deux ans avait des problèmes avec ça. Facebook aurait pu également avoir cette faille mais l'attaque du blog de Sarkozy il y a 2 semaines semble avoir eu lieu à l'aide d'un autre moyen.
Pensez à XSS avant CSRF
-
- Cet utilisateur a supprimé son compte et n’existe plus.
- Messages : 6340
- Inscription : 29 décembre 2010 à 18:15
J'avoue que j'arrive à apprendre assez vite quand il s'agit des codes, mais je me suis jamais penché sur les problèmes lier à ce genre de chose en fait...
Dans mon code j'utilise des requêtes préparées, il me semble que ca règle quelque souci de protection, mais en dehors de ça, faut-il fait autre chose ?
-
- Messages : 905
- Inscription : 2 avril 2010 à 20:14
Voici par exemple un bout de code qui parcours toutes les variables $_POST :
Code : Tout sélectionner
foreach ($_POST as $key => $value)
{
if( (!empty($value)) && (!is_array($value)) )
{
$_POST[$key] = mysql_real_escape_string($value);
$_POST[$key] = utf8_encode(htmlentities($_POST[$key],ENT_NOQUOTES,'UTF-8'));
}
}
La fonction mysql_real_escape_string() vas éviter toutes les injections SQL et "antislasher" les apostrophes dans les valeurs saisies mais seulement lors de la requête et non pas en permanence dans la table MySQL.
Au niveau de la fonction mysql_query() il faudra penser à faire l'inverse du htmlentities() pour retrouver les accents dans sa base MySQL. Le mieux est d'écrire une fonction qui vas nous le faire à notre place :
Code : Tout sélectionner
function fsh_mysql_query($sql)
{
$sql = html_entity_decode($sql,ENT_NOQUOTES,'UTF-8');
return mysql_query($sql);
}