Aller au contenu

cookie01

Actif
  • Compteur de contenus

    22
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par cookie01

  1. Merci pour ton aide Le Bronx !!! A ce point là ?! Aurais-tu des conseils à me donner pour optimiser ce code, et le sécuriser ? Merci
  2. Euh je sais pas si on s'est bien compris... En fait je ne sais pas comment appeler la page et mettre le lien externe dedans. Euh... C'est assez clair non ?
  3. Bonjour, Je cherche comment faire ce type de lien externe où une bannière de mon site resterait en haut, comme ici : http://www.911tabs.com/link/?326778 Le site 911tabs fait un lien vers ultimate guitar tout en gardant sa bannière en haut. Un peu comme le système de recherche d'images sur Google. J'imagine qui faut utiliser une frame mais je ne vois pas trop comment m'y prendre. Merci
  4. Bonjour à tous, Voilà j'ai codé un script de news utilisant un système de bbcode. Le souci est que lorsque je modifie une news, la modification est enregistrée comme une nouvelle news et donc sous un nouvel id. J'ai beau chercher, je ne trouve pas d'où cela vient. J'imagine qu'il y a un souci à ce niveau : $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification Il doit y avoir une perte de l'id... Voici liste_news.php : CODE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=&quot;http://www.w3.org/1999/xhtml"> <head> <title>Liste des news</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> h2, th, td { text-align:center; } table { border-collapse:collapse; border:2px solid black; margin:auto; } th, td { border:1px solid black; } </style> </head> <body> <h2><a href="rediger_news.php">Ajouter une news</a></h2> <?php require ("connect.php"); //----------------------------------------------------- // Vérification 1 : est-ce qu'on veut poster une news ? //----------------------------------------------------- if (isset($_POST['titre']) AND isset($_POST['contenu'])) { $titre = addslashes($_POST['titre']); $contenu = addslashes($_POST['contenu']); // On vérifie si c'est une modification de news ou pas if ($_POST['id_news'] == 0) { //------------------------------- // Fonction qui traite le BBcode //------------------------------- function bbcode_format ($contenu) { $simple_search = array( '/\[g\](.*?)\[\/g\]/is', '/\[i\](.*?)\[\/i\]/is', '/\[s\](.*?)\[\/s\]/is', '/\[u rl=http://(.*?)\](.*?)\[\/url\]/is', '/\[image](.*?)\[\/image_description=(.*?)\]/is', '/\[image_gauche](.*?)\[\/image_gauche]/is', '/\[image_droite](.*?)\[\/image_droite]/is', ); $simple_replace = array( '<strong>$1</strong>', '<em>$1</em>', '<u>$1</u>', '<a href="$1">$2</a>', '<img src="$1" alt="$2" class="cadre_image" />', '<span class="float_left">$1</span>', '<span class="float_right">$1</span>', ); $contenu = preg_replace ($simple_search, $simple_replace, $contenu); return $contenu; } // Ce n'est pas une modification, on crée une nouvelle entrée dans la table mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . bbcode_format($contenu) . "', '" . time() . "')") or die(mysql_error()); } else { // On protège la variable "id_news" pour éviter une faille SQL $_POST['id_news'] = addslashes($_POST['id_news']); // C'est une modification, on met juste à jour le titre et le contenu; mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'") or die(mysql_error()); } } //-------------------------------------------------------- // Vérification 2 : est-ce qu'on veut supprimer une news ? //-------------------------------------------------------- if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news { // Alors on supprime la news correspondant // On protège la variable "id_news" pour éviter une faille SQL $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']); mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'') or die(mysql_error()); } ?> <table><tr> <th>Modifier</th> <th>Supprimer</th> <th>Titre</th> <th>Date</th> </tr> <?php $retour = mysql_query('SELECT * FROM news ORDER BY id DESC'); while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les éditos { ?> <tr> <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td> <td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td> <td><?php echo stripslashes($donnees['titre']); ?></td> <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td> </tr> <?php } // Fin de la boucle qui liste les news ?> </table> </body> </html> Et voici rediger_news.php : CODE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=&quot;http://www.w3.org/1999/xhtml"> <head> <title>Rédiger une news</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> h3, form { text-align:center; } </style> <script type="text/javascript"> <!-- function insertion(repdeb, repfin) { var input = document.forms['formulaire'].elements['contenu']; input.focus(); /* pour l'Explorer Internet */ if(typeof document.selection != 'undefined') { /* Insertion du code de formatage */ var range = document.selection.createRange(); var insText = range.text; range.text = repdeb + insText + repfin; /* Ajustement de la position du curseur */ range = document.selection.createRange(); if (insText.length == 0) { range.move('character', -repfin.length); } else { range.moveStart('character', repdeb.length + insText.length + repfin.length); } range.select(); } /* pour navigateurs plus récents basés sur Gecko*/ else if(typeof input.selectionStart != 'undefined') { /* Insertion du code de formatage */ var start = input.selectionStart; var end = input.selectionEnd; var insText = input.value.substring(start, end); input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end); /* Ajustement de la position du curseur */ var pos; if (insText.length == 0) { pos = start + repdeb.length; } else { pos = start + repdeb.length + insText.length + repfin.length; } input.selectionStart = pos; input.selectionEnd = pos; } /* pour les autres navigateurs */ else { /* requête de la position d'insertion */ var pos; var re = new RegExp('^[0-9]{0,3}$'); while(!re.test(pos)) { pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0"); } if(pos > input.value.length) { pos = input.value.length; } /* Insertion du code de formatage */ var insText = prompt("Veuillez entrer le texte à formater:"); input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos); } } //--> </script> </head> <body> <h3><a href="liste_news.php">Retour à la liste des news</a></h3> <?php require ("connect.php"); if (isset($_GET['modifier_news'])) // Si on demande de modifier une news { // On protège la variable "modifier_news" pour éviter une faille SQL $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news'])); // On récupère les infos de la news correspondant $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'') or die(mysql_error()); $donnees = mysql_fetch_array($retour); //------------------------------- // Fonction qui traite le BBcode //------------------------------- $contenu = $donnees['contenu']; function bbcode_format ($contenu) { $simple_search = array( '/\<strong\>(.*?)\<\/strong\>/is', '/\<em\>(.*?)\<\/em\>/is', '/\<u\>(.*?)\<\/u\>/is', '/\<a href="(.*?)"\>(.*?)\<\/a\>/is', '/\<img src="(.*?)" alt="(.*?)" class="cadre_image" \/>/is', '/\<span class="float_left"\>(.*?)\<\/span\>/is', '/\<span class="float_right"\>(.*?)\<\/span\>/is', ); $simple_replace = array( '[g]$1[/g]', '$1', '$1', '$2', '[image]$1[/image_description=$2]', '[image_gauche]$1[/image_gauche]', '[image_droite]$1[/image_droite]', ); $contenu = preg_replace ($simple_search, $simple_replace, $contenu); return $contenu; } // On place le titre et le contenu dans des variables simples $titre = stripslashes($donnees['titre']); $contenu = bbcode_format($contenu); $contenu = stripslashes($contenu); $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification } else // C'est qu'on rédige une nouvelle news { // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news $titre = ''; $contenu = ''; $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification } ?> <form action="liste_news.php" method="post" name="formulaire"> <p align="center"><h4>Titre :</h4> <input type="text" size="30" name="titre" value="<?php echo $titre; ?>"/><br /><br /> <h4>Contenu : </h4><input type="button" value="Gras" onClick="insertion('[g]', '[/g]')"/> <input type="button" value="Italique" onClick="insertion('', '')"/> <input type="button" value="Souligné" onClick="insertion('', '')"/> <input type="button" value="Lien" onClick="insertion('', '')"/> <input type="button" value="Image" onClick="insertion('[image]', '[/image_description=]')"/> <input type="button" value="Image alignée à gauche du texte" onClick="insertion('[image_gauche]', '[/image_gauche]')"/> <input type="button" value="Image alignée à droite du texte" onClick="insertion('[image_droite]', '[/image_droite]')"/><br /><br /> <textarea type="text" cols="80" rows="20" name="contenu"><?php echo $contenu; ?></textarea></td> <br /><br /> <input type="submit" value="Envoyer" /></p> </form> </body> </html> Merci d'avance
  5. Je vois pas trop comment placer ces echo... J'ai tenté le code si dessous mais ça n'a rien donné, je n'ai jamais eu ce genre d'erreur, donc je vois pas trop comment faire Exemple dans liste_news.php // Création de la miniature echo '$fname'; echo '$ftype'; echo '$fsize'; echo '$ftmp'; $source = imagecreatefromjpeg($ftmp); // La photo est la source $folder = "../images/news/thumbnails/"; // Dossier de destination de la miniature $destination = imagecreatetruecolor(200, 200); // On crée la miniature vide echo '$destination'; Merci
  6. Je ne sais pas, j'ai juste affiché ce qu'il y avait de stocké dans mes variables...
  7. Comment ça à quel endroit ??? Oui j'ai vérifié et GD est bien activé, j'ai même fait un test avec le code d'upload de l'image seul et cela marchait très bien
  8. Salut tout le monde, J'ai rajouté des echo de test et il a bien affiché le titre, le contenu de la news mais il bloque sur l'image apparemment car il m'affiche un "0" à la place. Donc comme je pensais, cela vient bien du script de l'upload de l'image... Il doit y avoir quand même une bonne erreur pour bloquer l'écriture dans la table... J'ai relu tout le code mais je ne trouve toujours pas. Pour info, le site est hébergé chez free. Pour te répondre Anonymus le but de ce script est d'insérer dans une table une news contenant un titre, du texte et une image. Cette image qui est uploadé sur le serveur puis est redimensionnée pour créer une miniature, qui est uploadé sur le serveur elle aussi. Et le script doit récupérer le nom complet de l'image et de sa miniature (image.jpeg et small_image.jpeg). Donc dans la table je me retrouve avec le titre, le texte, le nom de l'image et celui de la miniature. Voilà
  9. Bonsoir, Voilà j'ai bidouillé un code d'administration de news contenant 3 champs : titre, contenu et une image qui se redimensionne automatique grace à gd. Mais le problème c'est qu'il ne m'écrit pas dans la table. Rien ne se passe, aucune erreur n'est renvoyée, il ne se passe vraiment rien... Il y a surement une erreur dans le code, et j'ai peur que se soit au niveau du code d'upload de l'image, car c'est l'ajout que j'ai fait à ce script qui marche très bien à la base. Merci de votre aide Voici les 2 fichiers php : liste_news.php CODE <?phpmysql_connect("", "", ""); mysql_select_db(""); //----------------------------------------------------- // Vérification 1 : est-ce qu'on veut poster une news ? //----------------------------------------------------- if (isset($_POST['titre']) AND isset($_POST['contenu']) AND isset($_POST['fname'])) { $titre = addslashes($_POST['titre']); $contenu = addslashes($_POST['contenu']); $fname = addslashes($_POST['fname']); // On vérifie si c'est une modification de news ou pas if ($_POST['id_news'] == 0) { //----------------------------------------------------- // Code image //----------------------------------------------------- // Taille maximum $MAX_FILE_SIZE = 300000; // Dossier de destination du fichier $folder = "../images/news/"; // Tableau array des différents types $allowed_types = array("image/jpeg"); // Variables récupérées par methode POST du formulaire $fname = $HTTP_POST_FILES['fichier']['name']; $ftype = $HTTP_POST_FILES['fichier']['type']; $fsize = $HTTP_POST_FILES['fichier']['size']; $ftmp = $HTTP_POST_FILES['fichier']['tmp_name']; // Diverses test afin de savoir si : // Le fichier n'est pas une image jpeg if(!in_array($ftype, $allowed_types)){$error = 1;} // La taille du fichier est trop grande if($fize > $MAX_FILE_SIZE){$error = 2;} // Le fichier existe déjà if(file_exists($folder."m_".$fname)){$error = 3;} // Si tout va bien, c'est bien déroulé if(copy($ftmp,''.$folder.''.$fname.'')) {$error = 0;} // Switch servant simplement à la gestion des erreurs switch($error){ case'0': echo("Fichier correctement envoyé."); break; case'1': echo("Format de fichier incorrecte. Uniquement .jpeg"); break; case'2': echo("Fichier trop volumineux."); break; case'3': echo("Fichier déjà existant."); break; } // Création de la miniature $source = imagecreatefromjpeg($ftmp); // La photo est la source $folder = "../images/news/thumbnails/"; // Dossier de destination de la miniature $destination = imagecreatetruecolor(200, 200); // On crée la miniature vide // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source); $largeur_destination = imagesx($destination); $hauteur_destination = imagesy($destination); // On crée la miniature imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source); // On enregistre la miniature imagejpeg($destination,''.$folder.''.$fname.''); // Ce n'est pas une modification, on crée une nouvelle entrée dans la table mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . $fname . "', '" . time() . "')"); } else { // On protège la variable "id_news" pour éviter une faille SQL $_POST['id_news'] = addslashes($_POST['id_news']); // C'est une modification, on met juste à jour le titre et le contenu mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'"); } } //-------------------------------------------------------- // Vérification 2 : est-ce qu'on veut supprimer une news ? //-------------------------------------------------------- if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news { // Alors on supprime la news correspondante // On protège la variable "id_news" pour éviter une faille SQL $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']); mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\''); } ?> <p> </p> <p class="smallText"> <table width="324" height="50" align="center" bgcolor="#000000" class="cadre"><tr background="../../data_index2/cellpic1.png"> <th>Modifier</th> <th>Supprimer</th> <th>Titre</th> <th>Date</th> </tr> <?php $retour = mysql_query('SELECT * FROM news ORDER BY id DESC'); while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news { ?> <tr> <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td> <td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td> <td><?php echo stripslashes($donnees['titre']); ?></td> <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td> </tr> <?php } // Fin de la boucle qui liste les news ?> </table></p> rediger_news.php CODE <?php mysql_connect("", "", ""); mysql_select_db(""); if (isset($_GET['modifier_news'])) // Si on demande de modifier une news { // On protège la variable "modifier_news" pour éviter une faille SQL $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news'])); // On récupère les infos de la correspondante $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\''); $donnees = mysql_fetch_array($retour); // On place le titre et le contenu dans des variables simples $titre = stripslashes($donnees['titre']); $contenu = stripslashes($donnees['contenu']); $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification } else // C'est qu'on rédige une nouvelle news { // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news $titre = ''; $contenu = ''; $fname = ''; $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification } ?> <form action="liste_news.php" enctype="multipart/form-data" method="post"> <p align="center"><span class="smallText">Titre :</span> <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p> <p align="center"> <span class="smallText">Contenu :</span><br /> <textarea name="contenu" cols="50" rows="10"> <?php echo $contenu; ?> </textarea><br /> <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" /><br> <span class="smallText">Image : </span> <input name="fichier" type="file"/><br><br> <input type="submit" value="Envoyer" /> </p> </form></p>
  10. cookie01

    Problème d'accents php

    Bonjour, Voilà j'ai une table qui gère tout les dvd. Ce matin j'ajoute un nouveau dvd et bizarre tout les accents sont affiché de cette manière : premiÚre fois Je fais tout mes ajouts via phpmyadmin, pourquoi cela ne m'affiche pas les accents correctement et surtout pourquoi sur un seul enregistrement de la table dvd alors que tout les autres de la même table marchent nickel ? J'ai aussi remarqué à l'exportation de la table que sur mon dernier enregistrement les accents était inscrit tel que dans la table : Durée Alors que sur tout les autres enregistrements les accents deviennent un point d'interrogation : Dur�e Pourtant j'ai utilisé la même méthode pour rentrer les données dans la table... Merci d'avance
  11. non ça ne marche toujours pas franchement je n'y comprends plus rien...
  12. ils sont tout les deux dans le même dossier. AuthUserFile /www/nom_du_dossier/.htpasswd j'ai mis ça et ça marche pas
  13. J'ai essayer plus de dix solutions différentes mais rien à faire D'où peut venir le problème
  14. ça ne marche toujours pas je comprends pas pourquoi ? Y aurait t'il une configuration à faire sur son hébergement ?
  15. Voilà j'ai ajouté un .htaccess à mon dossier admin en suivant le totu du Hub mais rien à faire... Je rentre les identifiants, je clique sur ok et il me remmettait la fenêtre de connexion... pourquoi donc ??? Contenu de .htaccess : AuthUserFile /.htpasswd AuthGroupFile /dev/null AuthName "Acces Restreint" AuthType Basic <Limit GET POST> require valid-user </Limit> Contenu de .htpasswd : pseudo :pass Il y a t'il une erreur ? Merci
  16. Bon voilà j'ai mis à jour mon forum, et j'ai sécurisé 2-3 trucs avec un tuto trouvé sur le net Sur mon site, j'avais avec l'aide de quelqu'un sécurisé mon include car un hacker m'avait piraté en exécutant une requête à partir de ma variable $zone. Mais ça c'est fait. Y aurait t'il autre chose à sécurisé, utiliser un .htaccess ??? J'avais essayé de mettre un .htaccess mais pas moyen qu'il fonctionne. Je rentrais les identifiants mais rien à faire, il me remmettait la fenêtre de connexion... Et puis où faut il mettre un .htaccess si ce n'est dans le dossier admin du site ??? Merci d'avance
  17. Je viens de découvrir que l'on peut faire une mise à jour sur chaque fichier, bien pratique lorsque l'on a des mods... je le mets à jour le plus vite possible
  18. je n'ai malheureusement pas fait la mise à jour du forum derrièrement car j'ai plusieurs mods installés et si je fais la mise à jour, ils vont disparaitre et surement créer des erreurs... (je suis à l'avant dernière version 2.0.21) Concernant mes modos ils sont tous rentrés en contact avec lui mais j'ai une entière confiance en eux, et puis ils ne sont pas admin Le gars n'est même pas inscrit sur mon forum, il a été inscrit mais j'ai supprimé son compte... Apparemment il infiltre mon forum sans être inscrit !!! Je suis près à le bloquer définitivement
  19. oui ils existent bien des petits mods phpbb pour la sécurit mais si c'est pas plus terrible que les codes initiales du forum... d'après lui php est vraiment "nul". J'ai entendu parler de "Mod_Security". "Ce module Open-source disponible pour Apache est à lui seul un détecteur de tentative dintrusion et un rempart face à une multitude dattaques connues." http://www.vulnerabilite.com/actu/20031021...d_security.html Est ce bien ??? Voici l'url : http://acdcbackinblack.net/index2.php Je veux juste des conseils, ce n'est pas à vous de faire tout le travail pour moi, ce qui ne me serait pas bénéfique... Je peux faire comment pour récupérer son IP et tenter de la bannir car comme tu dis ce n'est pas sûr qu'elle soit fixe... Je ne savais pas que je pouvais contacter son FAI pour lui expliquer la situation mais j'hésite à faire ça car il a mon adresse et tout maintenant.
  20. je l'ai toujours tenue à jour justement, mais je crois qu'il n'y a pas grand chose qui stop ce webmaster ... :!:
  21. Bonsoir à tous, je recherche quelqu'un qui s'y connaisse très très bien en php, afin de me conseiller pour sécuriser mon site ainsi que mon forum... Mon problème : Un internaute m'espionne et sait tout de moi et il s'en vante en plus, et cela depuis des mois. Il a été jusqu'à découvrir mon adresse et mon numéro de téléphone... et cela m'inquiète, surtout qu'il est webmaster professionnel. C'est pour cela que je cherche une personne qui s'y connaisse très bien en php. Il a trouvé mais infos perso par le biais du Whois sur OVH mais vu que mon site n'est pas très sécurité, il a réussi à lire les messages d'un forum qui été caché et réservé aux modérateurs !!! Je suis débutant en php et cela me permettera d'apprendre de nouvelles choses sur php. Merci d'avance
×
×
  • Créer...