Member
Member
gregb34   2006-05-28, 15:03
#1
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
Member
Member
DarrellD   2006-05-29, 19:46
#2
Thank you!
Member
Member
DarrellD   2006-06-04, 20:34
#3
The link no longer works. Please fix this so I can put it on the wiki.
Member
Member
gregb34   2006-06-05, 18:38
#4
my serve have crashed and i have lost the archive, if anyone has downloaded it before...

In other case, i will rebuild it Wink
Member
Member
gregb34   2006-06-05, 20:00
#5
UPDATED Wink
Member
Member
slidenby   2006-06-05, 20:39
#6
Seems to be down again.... mirror?
Member
Member
gregb34   2006-06-05, 20:53
#7
http://gregb.no-ip.com/public/scripts/zenphoto_comment_protection.zip

or
http://gratulog.free.fr/up/zenphoto_comment_protection.zip
Member
Member
DarrellD   2006-06-06, 04:43
#8
Thanks. Would you mind if I upload a copy of the .zip onto the wiki?
Member
Member
gregb34   2006-06-06, 09:51
#9
if i have did this hack it's to share it Wink so you can Wink

(Sorry for my bad english, i'm french)
Member
Member
gregb34   2007-01-04, 18:59
#10
Updated for 1.0.6...

http://gregoryb.dyndns.org/public/scripts/zenphoto_comment_protection.zip
http://www.gregserveur.com/public/scripts/zenphoto_comment_protection.zip
Member
Member
simonef   2007-05-20, 10:46
#11
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 [b] /zen/functions-controller.php[/b]
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'))`[b]`,strip_tags($_POST['code']),$_POST['code_h']);`[/b]

5. Open [b]/zen/class-image.php[/b]
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 [b]`$code = trim($code);

$code_ok = trim($code_ok);`[/b]
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)) {`
Member
Member
gregb34   2007-12-23, 21:48
#12
Updated for Zenphoto 1.1.3 !!!
Member
Member
sbillard   2007-12-24, 00:18
#13
Adapted for general use in the SVN shortly
Member
Member
gregb34   2007-12-24, 00:33
#14
I'm waiting this Wink
Member
Member
sbillard   2007-12-24, 02:16
#15
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.
  
Powered By MyBB, © 2002-2026 MyBB Group.
Made with by Curves UI.