Permalink
Browse files

added captcha

  • Loading branch information...
1 parent a0b9b63 commit 843a065c3a2fff48ae2014599903fc49ab5c3346 @jraigneau committed Mar 24, 2012
Showing with 31 additions and 5 deletions.
  1. +10 −3 instants.js
  2. +1 −0 package.json
  3. +6 −1 views/bonheur.jade
  4. +8 −0 views/package.json
  5. +6 −1 views/view_bonheur.jade
View
@@ -40,7 +40,8 @@ app.configure(function(){
app.set('view engine', 'jade'); // Le moteur de template - Jade
app.use(express.favicon()); // un favicon automatique (pour éviter des erreurs 404 systématiques dans les logs)
app.use(express.bodyParser()); // Pour gérer les formulaires
- app.use(express.cookieParser()); // Pour la gestion des cookies et des sessions
+ app.use(express.cookieParser());
+ // Pour la gestion des cookies et des sessions
app.use(express.session({ secret: 'awfjepyionn14962wxcv' })); // clé d'encodage pour les cookies et les sessions
app.use(express.methodOverride()); // middleware pour la gestion des actions http (post/get/put/delete)
app.use(app.router); // Routage des urls
@@ -259,7 +260,7 @@ app.post('/bonheur/:id/commentaire', function(req, res){
req.flash('error', 'Holy guacamole! Nous sommes désolé mais nous n\'avons pas trouvé l\'instant :( ');
res.redirect('back');
} else { //Le bonheur existe - il est donc possible de commenter
- if(req.body.comment.text==null || req.body.comment.text=='' || req.body.comment.author=='' || req.body.comment.author==null ){//Vérification qu'un texte pour le commetaire a bien été entré dans le formulaire
+ if(req.body.comment.text==null || req.body.comment.text=='' || req.body.comment.author=='' || req.body.comment.author==null || req.body.comment.captcha==null || req.body.comment.captcha != '6' ){//Vérification qu'un texte pour le commetaire a bien été entré dans le formulaire
req.flash('error', 'Holy guacamole! Pour commenter un bonheur, il faut d\'abord remplir les champs ci-dessous !');
res.redirect('back');
} else {
@@ -273,6 +274,12 @@ app.post('/bonheur/:id/commentaire', function(req, res){
doc.comments.push(comment); // On ajoute l'objet **Comment** dans le bonheur via la méthode **push()**
doc.save(function (err) { // Sauvegarde du bonheur
if(err == null) {
+ var mg = new mailgun.Mailgun(process.env.mailgun_key);
+ mg.sendText(process.env.emailFrom,
+ process.env.emailTo,
+ '[instant-de-bonheur] Nouveau contenu: un commentaire a été ajouté',
+ "Auteur: " + comment.author +"\nBonheur: "+comment.body+"\nId: "+comment._id,
+ function(err) { err && console.log(err) });
req.flash('success', 'Merci ! vous avez partagé un commentaire sur un instant de bonheur avec nous - pourquoi ne pas lire et commenter d\'autres instants de bonheur ?');
res.redirect('back');
} else {
@@ -335,7 +342,7 @@ app.get('/bonheur', function(req, res){
app.post('/bonheur', function(req, res){
//console.log("req.body:" + req.body.bonheur.text);
- if(req.body.bonheur.text==null || req.body.bonheur.text=='' || req.body.bonheur.author==null || req.body.bonheur.author =='' ){
+ if(req.body.bonheur.text==null || req.body.bonheur.text=='' || req.body.bonheur.author==null || req.body.bonheur.author =='' || req.body.bonheur.captcha==null || req.body.bonheur.captcha != '4'){
req.flash('error', 'Holy guacamole! Pour partager un bonheur, il faut d\'abord remplir tous les champs ci-dessous !');
res.redirect('back');
} else {
View
@@ -8,6 +8,7 @@
, "mongoose": "2.3.9"
, "express-csrf": "0.3.3"
, "mailgun":"0.4.2"
+ , "captcha":"0.0.1"
},
"engine": "node 0.4.12"
}
View
@@ -13,14 +13,19 @@
<br/><br/>
p Quels sont les circonstances, les lieux, les situations, les images qui vous viennent ?
p Qu'avez-vous ressenti ?
+ p Qu'est ce qui en fait un moment particulier ?
+ p Pour éviter les robots, combien font 2+2 ?
.span12
form(action="/bonheur", method="post")
.clearfix
.input1
input(class='span12', name='bonheur[author]', id='author', style='margin-left:0px;font-size:20px;')
.clearfix
.input1
- textarea(class='span12', name='bonheur[text]', id='question', rows='6', style='margin-left:0px;font-size:20px;', text='Mon instant de bonheur')
+ textarea(class='span12', name='bonheur[text]', id='question', rows='7', style='margin-left:0px;font-size:20px;', text='Mon instant de bonheur')
+ .clearfix
+ .input1
+ input(class='span12', name='bonheur[captcha]', id='captcha', style='margin-left:0px;font-size:20px;')
.clearfix
<input type="hidden" name="csrf" value=#{csrf}>
.actions
View
@@ -0,0 +1,8 @@
+{
+ "name": "",
+ "description": "",
+ "version": "0.1.0",
+ "author": "",
+ "dependencies": {},
+ "devDependencies": {}
+}
@@ -55,6 +55,10 @@ script
.input1
textarea(class='span12', name='comment[text]', id='answer', rows='6', style='margin-left:0px;font-size:14px;')
.clearfix
+ .input1
+ input(class='span12', name='comment[captcha]', id='captcha', style='margin-left:0px;font-size:14px;')
+
+ .clearfix
<input type="hidden" name="csrf" value=#{csrf}>
.actions
@@ -65,7 +69,8 @@ script
p N'oubliez pas de dire qui vous êtes !
<br/>
p Rien de tel qu'un commentaire créatif, drôle, imaginatif, futé, original, inventif, insolite, malin, surprenant pour donner du sens !
-
+ <br/><br/><br/>
+ p Pour éviter les robots, combien font 3+3 ?
section

0 comments on commit 843a065

Please sign in to comment.