LA GLOBULE

Inscris le 25/09/2002 à 10:40
  • Site web
  • Nombre de sujets
    47
  • Nombre de messages
    8 345
  • Nombre de commentaires
    142
  • Nombre de news
    8 346
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

LA GLOBULE
le 16/09/2009 à 17:10
Piratage
Il manque quelques isset et mysql_escape_string, mais a priori, rien ne permettant d'écrire dans des fichiers.

Concernant PHPBB, recherche si des failles sont connues et non comblées.

Sinon, ben regarde tes logs et recherche des trucs suspects.
LA GLOBULE
le 16/09/2009 à 12:04
Piratage
Difficile de répondre sans avoir vu le code.
En tout cas, une chose est sure, les cibles privilégiées des hackers sont les livres d'or et les formulaires de contact.

Dans la plupart des cas, ce sont des scripts "a priori" simples à faire, mais qui peuvent très vite contenir de nombreuses failles de sécurité.

Pour blacklister des ip, tu peux le faire directement sur le serveur via iptables. C'est aussi faisable en PHP, mais c'est moche quoi :)
Mais bon, une adresse ip, cela se change. A moins de supprimer carrement un range d'ip, blacklister juste une ip ne sert pas à grand chose.

Pour un petit hack de ce genre, le mieux, c'est de corriger ta faille de code.

PS : d'après google, tu es loin d'être le seul dans ce cas. Es tu sur de n'avoir que du PHP perso. sur ton site ? Ou bien t'as repris des scripts quelque part ?
LA GLOBULE
le 15/09/2009 à 20:53
administration site web : suppression de données dans divers tables
Bon, j'ai un peu mieux lu ton code.

A priori, tu as le nom de la table à gérer dans $resultat.
Donc quand tu fais tes delete, fais un truc du genre :

<?php
$sql = "DELETE FROM ".$resultat." WHERE ...";
?>


ATTENTION !!!
Ce que tu vas faire est risqué. Il te faut impérativement tester (tester que la table du même nom existe, tester qu'il ne s'agit pas d'une table où rien ne doit être supprimé, etc.) cette variable $resultat avant de l'exploiter dans une requete SQL.
LA GLOBULE
le 15/09/2009 à 20:48
page blanche après envoi de formulaire
Je pense que je dois faire ce que tu m'as dit plus haut pour les messages d'erreur.


Je pense aussi que c'est une bonne idée.

Tu dis ne pas savoir le faire, mais je t'ai expliqué comment le faire, avec la fonction ini_set.
LA GLOBULE
le 15/09/2009 à 20:47
Un menu different si membre
Si tu as fais un espace membre, en affichant une page, tu dois etre capable de savoir si oui ou non le membre est logué.

A partir la, c'est un simple if :

<?php
if ($membre_en_ligne == true) {
// tu affiches un menu spécial
}
else {
// un menu différent pour les non logués
}
?>
LA GLOBULE
le 14/09/2009 à 12:54
page blanche après envoi de formulaire
Qu as tu mis exactement dans ton fichier ?

<?php  1. <?php
2. echo 'pom';
3. exit;
4. ?>
?>


Ca ?

<?php
echo 'pom';
exit;
?>


Ou ca ?

Seule la seconde version fonctionne.

En fait, je suis presque sur que tu as tout copier coller comme un bourrin et que les numéros de ligne sont restés dans tes fichiers PHP, ce qui crée des erreurs de syntaxe.

PHP doit claquer une erreur, et comme par défaut elles ne s'affichent pas chez ton hebergeur, et bien tu as une page blanche (ce comportement peut se modifier en faisant un init_set de la propriété display_errors et en la passant à On, tu peux aussi modifier la propriété error_reporting en lui donnant la valeur E_ALL pendant la phase de développement. Parce que sans rapport d'erreur, c'est impossible de développer).
LA GLOBULE
le 13/09/2009 à 15:05
Sondage
oui.

Je te demande juste de refaire la boucle que tu as déjà fais dans ton code.

Si tu ne la vois pas, cela veut dire que tu ne comprends pas ce que tu fais.
Dans ce cas, demande nous de t'expliquer ce que tu ne comprends pas dans ton code.

Le but de ce site, c'est de comprendre ce que l'on fait, pas de copier coller betement en esperant que cela fonctionne.
LA GLOBULE
le 13/09/2009 à 11:28
Sondage
Oui, mais en terme de perf, cela revient quasiement au même, surtout sur du MyISAM.
Sur de l'innoDB, MySQL fera une transaction sur ce genre d'insert : ca peut aider, tout comme ca peu pénaliser.

Attention aussi, si on fait énormement d'insert de ce genre et que l'on dépasse la valeur du max_allowed_packet, la requete ne se fera pas.

lolero, la boucle en question, tu la fais dans ton code, plus haut.
Si tu ne la vois pas, je te suggère de relire ton code et d'essayer de le comprendre.
LoadingChargement en cours