S'abonner :  Newsletters    Magazines
Avis sur les produits Avis sur les logiciels Avis sur les jeux Actualités A propos de 01net
298 utilisateurs connectés

[Résolu] Ouverture du script seulement si...

lognaume le 17 octobre 2008 à 19h13
Salut !
J'ai un formulaire de contact sur mon site http://www.fjcd.ch/index.php?page=contact que j'ai sécurisé avec du javascript pour qu'il vienne une erreur si un des champs est vide et avec un captcha en php.
Le problème est que je reçois des formulaires vides de temps en temps...
Je me demande si quelqu'un utilise ma page envoi.php pour m'envoyer ce spam, j'aimerais donc restreindre l'accès à cette page pour qu'elle s'exécute UNIQUEMENT quand on vient de ma page de contact.
Est-ce possible ?


EDIT : J'ai essayé de vérifier d'abord si isset(mes variables $_POST) avant d'envoyer... Je verrai si il y a déjà une amélioration


-->Message édité par lognaume le 30/10/2008 20:38:08<--
master-maul le 30 octobre 2008 à 16h11
C'est logique.
Si tu utilises isset, c'est pour demander si tes variables existent.
Or, meme si elles sont vides, les variables $_POST['machin'] existent.
Tu as deux manières de procéder :
1. tu utilises isset et tu vérifies qu'elles ne sont pas vides :
if (isset($_POST['machin']))
{
if ($_POST['machin'] != NULL)
{
}
}
2. tu utilises !empty :
if (!empty $_POST['machin'])

bonne chance !
-->Message édité par master-maul le 30/10/2008 16:13:01<--
lognaume le 30 octobre 2008 à 20h37
Merci pour ta réponse, j'ai fait un isset($_POST['variables']) et apparemment ça a suffit...
Undo le 31 octobre 2008 à 10h27
Salut vous deux,

NE JAMAIS VERIFIER LES FORMULAIRE UNIQUEMENT EN JAVASCRIPT.

C'est pourtant une règle de base assez évidente : JavaScript est sur le client, donc on peut faire ce qu'on veut avec, tu ne contrôle rien du tout avec JavaScript.

Il faut donc toujours faire des vérifications sur le serveur. Absolument toujours !

D'autant plus que les robots (dont Google Crawler) n'ont pas JavaScript mais remplissent et envoient les formulaires...

Et sinon pour vérifier que le champs n'est pas vide c'est ceci qu'il faut faire :

if(!empty($_POST['machin'])) {
// envoie du form...
}
lognaume le 31 octobre 2008 à 18h45
Oui c'est exactement ce que j'ai fait maintenant ^^
J'avais pas pensé aux robots au début... j'avais juste pensé aux utilisateurs...
Mais vu le spam mnt c'est mieux.
En plus y'a un captcha donc c'est pas évident pour un robot xD


PRODUITS

TÉLÉCHARGER - LOGICIELS

JEUX VIDÉOS

LOISIRS

01NET PRO

AVIS ET COMMENTAIRES

A PROPOS DE 01NET

publicité
> Nouveauté :CIEL
Auto-entrepreneur Facile
La gestion de vos outils de facturation et de devis.

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.