Data AccessCore JavaApp FrameworksViewTestingBuildingDeploymentDev ToolsSecurityOpinions

Wednesday, November 30, 2011

Steps to a CAPTCHA Implementation using JAVA/JSP

CAPTCHA can quickly and easily protect your web application against brute force and bot attacks or abuse. There are just a few simple steps to a CAPTCHA implementation in Java/JSP. The solution is simple and the documentation is quite clear, so I only provide the steps and quick links to those resources.

Step 1: Signup for a CAPTCHA account and generate keys for your website domains.
Navigate to http://www.google.com/recaptcha and signup for an account. After obtaining a login, generate keys for your domain.

Step 2: Find the developers guide for CAPTCHA
Navigate to http://code.google.com/apis/recaptcha/intro.html. From here, you'll find all the information you need. Notice in the left hand menu, there's a Java/JSP Plugin link available. Click into that.

Step 3: Download the Java/JSP Plugin and Implement
Navigate to http://code.google.com/apis/recaptcha/docs/java.html where you will find a link to download the plugin, which is a set of Java classes. Extract the source files into your web applications java source tree. The directions on the page are extremely straight forward.

The form page looks like:
 
<%@ page import="net.tanesha.recaptcha.ReCaptcha" %>
<%@ page import="net.tanesha.recaptcha.ReCaptchaFactory" %>

<html>
<body>
<form action="" method="post">
   <%
      ReCaptcha c = ReCaptchaFactory.newReCaptcha("your_public_key", "your_private_key", false);
      out.print(c.createRecaptchaHtml(null, null));
   %>
   <input type="submit" value="submit" />
</form>
</body>
</html>
You also may be using reCaptcha over https. In that case, follow the instructions from this page: http://code.google.com/apis/recaptcha/docs/tips.html
<script type="text/javascript"
   src="https://www.google.com/recaptcha/api/challenge?k=your_public_key">
</script>

<noscript>
   <iframe src="https://www.google.com/recaptcha/api/noscript?k=your_public_key"
       height="300" width="500" frameborder="0"></iframe><br>
   <textarea name="recaptcha_challenge_field" rows="3" cols="40">
   </textarea>
   <input type="hidden" name="recaptcha_response_field"
       value="manual_challenge">
</noscript>
When the form is submitted, the reCaptcha entries can be verified easily.
<%@ page import="net.tanesha.recaptcha.ReCaptchaImpl" %>
<%@ page import="net.tanesha.recaptcha.ReCaptchaResponse" %>

    <html>
       <body>
       <%
        String remoteAddr = request.getRemoteAddr();
        ReCaptchaImpl reCaptcha = new ReCaptchaImpl();
        reCaptcha.setPrivateKey("your_private_key");

        String challenge = request.getParameter("recaptcha_challenge_field");
        String uresponse = request.getParameter("recaptcha_response_field");
        ReCaptchaResponse reCaptchaResponse = reCaptcha.checkAnswer(remoteAddr, challenge, uresponse);

        if (reCaptchaResponse.isValid()) {
          out.print("Answer was entered correctly!");
        } else {
          out.print("Answer is wrong");
        }
      %>
      </body>
    </html>
Step 4: Give the JVM a time interval to refresh its DNS cache
By default the Java Virtual Machine (JVM) caches all DNS lookups forever instead of using the time-to-live (TTL) value which is specified in the DNS record of each host. To fix this issue for good, you can pass -Dsun.net.inetaddr.ttl=30 to your app-server (this tells Java to only cache DNS for 30 seconds).

There is a great article on the JVM and DNS caching. A must read at http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/1887

The steps above are quick and easy to implement, post back and let me know if you have any issues with the implementation and I will try and assist.

72 comments:

  1. why my recaptcha gives Answer is Wrong whenever i put correct text into textfield of captcha??help me

    ReplyDelete
  2. Hey Itz Showing Null PointorException When i run this Application

    ReplyDelete
  3. Whay am I getting "org.apache.jasper.JasperException: Unable to compile class for JSP" error ?
    Please help....

    ReplyDelete
  4. This is jonesdruman This blog was simply great post byb you. I really appreciate your blog. Really awesome blog I would like to know more about this. Please give some ideas about your blog. Thanks…………………………………….
    T20 World Cup 2016 Tickets Available
    T20 World Cup 2016 Expected Players List

    ReplyDelete
  5. I like this a lot. Thank you for sharing. I'm always looking for upcycles like this. In the end, you don't know it was a shipping pallet to begin with!
    Australia vs India 2016 Schedule
    ICC T20 World Cup 2016 Schedule

    ReplyDelete
  6. Hello dear .You put really very helpful information.
    It’s pretty worth enough for me. In my opinion, if all webmasters and bloggers made good content as you did, the web will be a lot more useful than ever before.
    icc t20 world cup 2016
    t20 world cup 2016
    ipl live streaming
    ipl 2016 live streaming
    real madrid vs barcelona live streaming
    La Liga Live Streaming
    India vs Pakistan Live Streaming
    India vs Pakistan Live Scores
    wrestlemania 2016 live stream
    wrestlemania 2016 results

    ReplyDelete
  7. This was worth reading article, java is no doubt the most powerful programming languages yet more demanding as well. <
    Regards,
    PHP Training in Chennai|JAVA Course in Chennai|Best JAVA Training in Chennai|JAVA Training

    ReplyDelete
  8. Why I always get the error message never get into the valid condition ?

    ReplyDelete
  9. The strategy you have posted on this technology hepled me to get into the next level and had lot of informations in it.
    salesforce training in chennai | salesforce training institute in chennai

    ReplyDelete

  10. The strategy you have posted on this technology hepled me to get into the next level and had lot of informations in it. Python is one of the basic level programming and is very important one.
    Python Training in Chennai | Python Course in Chennai

    ReplyDelete
  11. Hi! I’ve been reading your blog for a while now and finally got the
    happy wheels demo | friv4school | girls go games | games 2 girls | happy wheels 2

    ReplyDelete
  12. Excellent post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.
    Web designing Course in Chennai | Hadoop Training in Chennai

    ReplyDelete
  13. Thanks for sharing such a useful post here.Really good to see this.I got more information about java.I will definitely follow your steps.Keep posting stuff like this.
    Java Training in chennai | Software Testing Training in chennai | Digital Marketing Training in Chennai

    ReplyDelete
  14. Thanks for sharing such a useful post here.Really good to see this.I got more information about java.I will definitely follow your steps.Keep posting stuff like this.
    العاب
    cooking games

    ReplyDelete
  15. As the demand of java programming application keeps on increasing, there is massive demand for java professionals in software development industries. Thus, taking training will assist students to be skilled java developers in leading MNCs.
    JAVA J2EE Training in Chennai | JAVA J2EE Training Institutes in Chennai

    ReplyDelete
  16. Have a look at Happy Veterans Day 2016 if you want to know about veterans day, which is one of the most important holidays in the U.S and why is it celebrated. Stay updated with all the latest information.

    ReplyDelete
  17. Thanks admin,I had spend more time with your website, because this is one of the best resources I have have found it.Your information is really useful to me.
    DOTNET Training in Chennai | DOTNET course in Chennai | DOTNET Training Institutes in Chennai

    ReplyDelete
  18. I have read your blog its very attractive and impressive. I like it your blog.

    Java Training in Chennai Java Training in Chennai | Core Java Training in Chennai

    Online Java Training Java Online Training | Java J2EE Online Training | JavaEE Training Institute in Chennai

    ReplyDelete
  19. The Happy Halloween Day is coming soon On October 31st, 2016 Download
    Halloween Songs Lyrics
    Happy Halloween Images 2016
    Happy Halloween Quotes
    Celebrate with us with having
    Happy Halloween Wishes 2016 From Here.

    ReplyDelete
  20. Very good business i liked my friend! Thank you for this beauty information.
    Best game car. لعبة سباق التيربو

    ReplyDelete
  21. Congratulations! this blog is very interesting and has information most important we invite you to visit our blog
    fireboy watergirl
    Geometry Dash online

    ReplyDelete
  22. The blog or and best that is extremely useful to keep I can share the ideas. Age Of War 2
    Big Farm | Slitherio | Tank Trouble
    Of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.
    Happy Wheels | Goodgeme Empire | Slither.io

    ReplyDelete
  23. Want to know about Veterans Day,which is a day to celebrate the great officers of the US army,just checkout my blog Veterans Day 2016 Poems and stay updated.

    ReplyDelete
  24. New Year 2017 is just a few days away and it is also one of the most celebrated days of the whole year. I have put up a site New Year 2017 Images and Pictures which has all the ;latest new year images, wallpapers, quotes.

    ReplyDelete
  25. Amazing .. Thanks for giving me the useful information. I think I need it!
    happy wheels
    return man 3
    friv4school

    ReplyDelete
  26. Facebook has become a part of my life, not only helped me to connect with you but also where I can share every moment in life. I really like the convenience that it brings
    facebook baixar , baixar facebook , baixar facebook gratis , facebook baixar

    ReplyDelete
  27. The article gives me a lot of interesting information. I still often share life experiences with friends. And I enjoyed the convenience and attractiveness of free messaging app
    whatsapp baixar , baixar whatsapp , whatsapp baixar , baixar whatsapp gratis

    ReplyDelete



  28. شجّع نفسك لأننا اليوم سنقوم بعرض لعبة جوال جديدة من نمط معارك الممالك لك!

    إذا كنت مهتما بتلك الأنواع من الألعاب فربما قد سمعت بـClash of Clans ونسخ العناوين المشابهة. جميعا تبدوا متشابهة لبعضهم البعض وليس لديهم أي سمات متميزة ولكن هذا سيتغير اليوم لأننا نريد أن نقدم لك فجر الأسطورة ونعرض ميزاتها!



    فجر الأسطورة
    تعطيك أنماط وحرية أكثر. إنها أحد تلك الألعاب التي يمكنك الإلمام بها في أقل من 5 دقائق ولكن بعد ما يقارب الساعة من اللعب ستدرك أن بها المزيد

    النقطة الأساسية باللعبة هي بناء جيش والهجوم على ممالك اخرى أصغر أو أكبر! بالطبع عليك تكوين قاعدتك وتوسيعها. إذا ما الذي يجعل فجر الأسطورة مختلفة عن العناوين المشابهة؟ في البداية اللعبة تطلب منك إختيار شخصيتك الرئيسية في فريقك - البطل! هنالك أكثر من 150 لتختار منهم! يمكن رفع مستواهم جميعا وتطويرهم لذا قم بجمع الميزد والمزيد من الأبطال الذين يمكن أن تقوم بدمجهم معا لتجعلهم يظهرون قدرات فريدة أكثر!

    كيف توسع مملكتك! إنه سهل! بإستثناء الهجوم على ممالك اخرى للحصول على المواد يمكنك الإنضمام إلى فعالياتنا اليومية والأسبوعية الرائعة التي قمنا بتجهيزها لجميع اللاعبين! حاول أن تحارب بالحلبة أو التحالف وإحصل على جوائز رائعة!


    فجر الأسطورة
    تنتظرك بالفعل في الاب ستور وجوجل بلاي









    ReplyDelete



  29. من المعروف أن أفضل ألعاب الجوال دائما تعمل على إيجاد التوازن بين ان تكون معقدة و بسيطة فى آن واحد.
    يمكنك أن تمسك بكل شئ في خلال 5 دقائق ولكن بعد ساعة من اللعب سوف تدرك أنها توفر لك أكثر بكثير مما كنت تتوقع في البداية.

    إذا ما هي لعبة فجر الأسطورة ؟ إذا كانت لديك حتى خبرة صغيرة في نمط ألعاب تشابك-الممالك، فستكون لديك فكرة جيدة عن ما هي فجر الأسطورة.
    تبدأ أساسا مثل معظم الألعاب المشابهة.
    أنت تستيقظ على أرض فارغة واللعبة تطلب منك أن تبني أول مباني إستراتيجية لك مثل الثكنة العسكرية أو أرض التدريب.
    الان يمكنك البدء في تدريب جيشك! يمكنك أن تبدأ من الأقزام الأساسيين.
    سيتاح أنواع أخرى من الجنود فور وصولك للمستويات التالية!

    ولكن ما الذي يجعل فجر الأسطورة مختلفة عن باقي الألعاب المشابهة؟ قوتك الأساسية هي البطل وهو قائد جيشك.
    أنت تختار أول بطل لك في بداية اللعبة ولكن بعد الميزد من المعارك المنتصرة سيتم مكافأتك بإمكانية إختيار أكثر وأكثر.
    من السهل أيضا رفع مستواهم وحتى تطويرهم! كلما كان بطلك قويا، كلما إستطعت الفوز بالمعارك الصعبة!

    وبالطبع فجر الأسطورة تقدم لك أنواع مختلفة من الفعاليات، يومية وأسبوعية،
    حيث يمكنك الحصول على المكافات يوميا وأسبوعيا! لا تنسى إستخدامها لتحسين مملكتك!

    تحميل لعبة فجر الأسطورة متاح الآن بالفعل في الاب ستور و سوق الأندرويد!











    ReplyDelete

  30. هل بدأت تشعر بالملل من Clash of Clans، هل تشعر بأن مراحل اللعبة أصبحت مكررة ولا جديد فيها؟،
    هل تريد القيام بتحدٍ جديد؟، جهّز نفسك لأننا نريد أن نقدم لكم المنافس الجديد لها والتي ستتيح لك أنماط لعب أكثر وحرية أكثر!

    فجر الأسطورة هي لعبة إستراتيجية مجانية وبسيطة والتي تسمح لك ببناء مملكة خاصة بك وتدريب جيوش كبيرة تحت سيطرة الابطال.
    اللعبة تقدم أكثر من 150 بطل لتختار من بينهم، كل واحد منهم يستطيع أن يظهر لك قدرة خاصة.
    يمكن أيضا أن ترفع من مستواهم، بل ويمكنك أيضا دمجهم لتطويرهم، والذي يمكن أن يعطيك أبطال غير عاديين بقدرات غير مألوفة!
    الأبطال هم دائما قادة فريقك وجعلهم أقوى يساعدك في بناء فريق أقوى.

    تعطيك اللعبة مهام خاصة كل يوم، والتي تسمح لك بالحصول على سلع ومواد محدودة.
    الحصول على الموارد الأساسية مثل الذهب والفاكهة السحرية أمر سهل للغاية، يمكنك سرقتها من الممالك التي قمت بتدميرها في المعارك.
    اللعبة تقدم بعض الإضافات المدفوعة أيضا ولكنها إختيارية تماما. العملة المدفوعة - الشهب،
    تتيح للاعبين الحصول على أشياء رائعة مثل الدروع والتي تساعدهم في بناء بطل أكثر قوة!

    لعبة فجر الأسطورة تحاول ببساطة أن لا تكون مجرد نسخة من "Clash of Clans" فاللعبة تقدم لك حرية أكثر، خاصة من خلال توفير الأبطال.
    إختلاف اخر هو أن فجر الأسطورة تظهر لك المزيد من إمكانيات المعركة. يمكنك الإنضمام إلى الحلبة أو حرب التحالف.
    الحلبة بها معارك يومية قصيرة بينما التحالف فعالية اسبوعية أكبر.
    الأصعب لها جوائز أفضل. فجر الأسطورة متاحة بالفعل في متجر الاب للـiOS و Google Play للأندرويد. جربها الان!











    ReplyDelete


  31. منتديات أسامر
    اسلاميات,عامه,ادبيه,اسرة مجتمع,حياه,صوتيات,ديكور,ترفيهي,انمي,العاب,game,منتديات اسامر افضل منتدي عربي و فيه عدة اقسام و هي اتصلات وتقنيه
    منتدي أسامر

    ReplyDelete

  32. منتديات أسامر
    اسلاميات,عامه,ادبيه,اسرة مجتمع,حياه,صوتيات,ديكور,ترفيهي,انمي,العاب,game,اتصلات وتقنيه.
    منتدي أسامر

    ReplyDelete

  33. العاب فلاش
    العاب فلاش سيارات 2017

    العاب سباق سيارات 2017
    العاب سباق
    سباق سيارات
    موقعي
    موقعي الشخصي
    اضغط هنا

    ReplyDelete
  34. Your blog posts are more interesting and impressive. I think there are many people like and visit it regularly, including me.I actually appreciate your own position and I will be sure to come back here.
    temple run 2 l download temple run 2 l temple run 2 game l temple run 2 download l temple run 2 app

    ReplyDelete
  35. Thank you for this valuable information. We are the best erp software solutions in chennai. Contact us on info@bravetechnologies.in.
    erp in chennai

    ReplyDelete
  36. Nice blog. Thank you for sharing. The information you shared is very effective for learners I have got some important suggestions from it. erp providers in chennai.

    ReplyDelete
  37. Informative updates on the technology and Microsoft dynamics is one such service oriented architecture platform which allows to easily customize it. Go with this trendy technology by joining Microsoft dynamics training in Chennai to learn from professional team of experts.

    ReplyDelete

  38. This is excellent information. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
    Android Training in Chennai
    Ios Training in Chennai

    ReplyDelete