zenphoto forums » Usage Support

Simple captcha protection for comment. Easy to install

(15 posts)
  1. gregb34

    Member
    Joined: May '06
    Posts: 41

    Hi,

    I have developped a simple captcha protection to prevent spam attacks on comment.

    Demo : http://www.gregserveur.com/zenphoto/

    Download : http://www.gregserveur.com/public/scripts/zenphoto_comment_protection.zip

    Posted 8 years ago #
  2. DarrellD

    Contributor
    Joined: Jan '06
    Posts: 300

    Thank you!

    Posted 8 years ago #
  3. DarrellD

    Contributor
    Joined: Jan '06
    Posts: 300

    The link no longer works. Please fix this so I can put it on the wiki.

    Posted 8 years ago #
  4. gregb34

    Member
    Joined: May '06
    Posts: 41

    my serve have crashed and i have lost the archive, if anyone has downloaded it before...

    In other case, i will rebuild it ;)

    Posted 8 years ago #
  5. gregb34

    Member
    Joined: May '06
    Posts: 41

    UPDATED ;)

    Posted 8 years ago #
  6. slidenby

    Member
    Joined: Nov '05
    Posts: 26

    Seems to be down again.... mirror?

    Posted 8 years ago #
  7. gregb34

    Member
    Joined: May '06
    Posts: 41

  8. DarrellD

    Contributor
    Joined: Jan '06
    Posts: 300

    Thanks. Would you mind if I upload a copy of the .zip onto the wiki?

    Posted 8 years ago #
  9. gregb34

    Member
    Joined: May '06
    Posts: 41

    if i have did this hack it's to share it ;) so you can ;)

    (Sorry for my bad english, i'm french)

    Posted 8 years ago #
  10. gregb34

    Member
    Joined: May '06
    Posts: 41

  11. simonef

    Junior
    Joined: May '07
    Posts: 6

    None of your links worked for me, so I downloaded it from the Wiki. The Readme there didn't work at all, but I figured it out. The files changed where you have to add the code. This is how I made it work:

    1. Upload generate_image.php to the /zen folder, change the permisson on this file to 777 (allow write to everybody).
    Upload code.png to the /zen/images folder
    2. Open the image.php in the folder of your current theme.
    Add <? include('zen/generate_code.php');?>
    Add <label for="code"><img src='/zenphoto/zen/images/code.png' alt="Code"/></label> where you ant the picture with the Captcha to be, add <input type="text" id="code" name="code" size="3" class="inputbox" /><input type="hidden" name="code_h" value="<? echo $code; ?>"/>where you want the input box to be.
    In the default theme this would mean to find
    <tr>
    <td><label for="website">Site:</label></td>
    <td><input type="text" id="website" name="website" size="40" value="<?php echo $stored[2];?>" class="inputbox" /></td>
    </tr>

    and after this add
    <tr>
    <? include('zen/generate_code.php');?>
    <td><label for="code"><img src='/zenphoto/zen/images/code.png' alt="Code"/></label></td>
    <td><input type="text" id="code" name="code" size="3" class="inputbox" /><input type="hidden" name="code_h" value="<? echo $code; ?>"/></td>
    </tr>

    4. Open /zen/functions-controller.php
    Find the lines
    $commentadded = $_zp_current_image->addComment(strip_tags($_POST['name']), strip_tags($_POST['email']),
    $website, kses($_POST['comment'], zp_conf('allowed_tags')));

    in the zp_handle_comment function.
    Change this to
    $commentadded = $_zp_current_image->addComment(strip_tags($_POST['name']), strip_tags($_POST['email']), $website,
    kses($_POST['comment'], zp_conf('allowed_tags'))
    ,strip_tags($_POST['code']),$_POST['code_h']);

    5. Open /zen/class-image.php
    Find the function addComment($name, $email, $website, $comment) {
    and replace this line with function addComment($name, $email, $website, $comment,$code,$code_ok) {
    A few lines further in this function you'll find $comment = trim($comment);.
    After this add $code = trim($code);
    $code_ok = trim($code_ok);

    and replace if (empty($email) || !is_valid_email_zp($email) || empty($name) || empty($comment)) {
    with if (empty($email) || !is_valid_email_zp($email) || empty($name) || empty($comment) || (md5($code)<>$code_ok)) {

    Posted 7 years ago #
  12. gregb34

    Member
    Joined: May '06
    Posts: 41

    Updated for Zenphoto 1.1.3 !!!

    Posted 6 years ago #
  13. sbillard

    Contributor
    Joined: May '07
    Posts: 10,452

    Adapted for general use in the SVN shortly

    Posted 6 years ago #
  14. gregb34

    Member
    Joined: May '06
    Posts: 41

    I'm waiting this ;)

    Posted 6 years ago #
  15. sbillard

    Contributor
    Joined: May '07
    Posts: 10,452

    I am done and have sent it off. All distributed themes will provide Captcha via a theme option--Use Captcha.

    Other themes will have to add a printCaptcha() function call to their comment input block.

    Posted 6 years ago #

RSS feed for this topic

Reply

You must log in to post.