Posts: 6
Threads: 2
Joined: Dec 2010
Hi!
First of all, I love what is being done with commentics. Thanks for such a great tool. I had some problems (which I will get to in another post), but for now I want to try to change one thing.
What should I change, so that after a comment is submitted, and a user presses "back", they don't resubmit that comment again? I saw a tip that mentioned using the captcha tool, but in my case I really don't want to use it (and for some reason it also isn't working).
I have an idea what I can do, is, when the comment is submitted, go to another page, which then does some PHP header location, back to the real page. I think I did something like that before, but just wondering if someone has a quick easy fix before I get messy with things.
Please let me know and thanks again!
-Peter
Posts: 2,894
Threads: 59
Joined: Jun 2010
Hi,
I just submitted a comment on my test site without captcha enabled, I hit the back button, the browser (Firefox) asked whether I was sure that I wanted to resend the data and I confirmed, I got an error message from Commentics saying that my last comment was submitted recently and that I should wait longer. When I submitted a comment and refreshed the page instead of clicking the back button I also got the same error message.
In Internet Explorer if I click the back button then the browser just displays a page saying that the webpage has expired. If I click refresh then I get the Commentics error message.
Maybe you are detected as the admin so the flooding isn't being checked?
Have
you completed
the interview?
Posts: 6
Threads: 2
Joined: Dec 2010
Hi,
No, I have my comments allowable every 5 seconds or so (low), and about 60 per hour (for instance). Even if it was set to 1 minute, there is a chance of it happening, if they stayed on the page for a minute, then hit back (you can try and see). Also supposing they get the "do you want to resend data" message, the person will have to click yes, because after trying both yes and no, they will see that "no" yields them a blank page (non-functioning website). Hope it makes sense.
-Pete
(21-Dec-2010, 11:18 AM)Steven Wrote: Hi,
I just submitted a comment on my test site without captcha enabled, I hit the back button, the browser (Firefox) asked whether I was sure that I wanted to resend the data and I confirmed, I got an error message from Commentics saying that my last comment was submitted recently and that I should wait longer. When I submitted a comment and refreshed the page instead of clicking the back button I also got the same error message.
In Internet Explorer if I click the back button then the browser just displays a page saying that the webpage has expired. If I click refresh then I get the Commentics error message.
Maybe you are detected as the admin so the flooding isn't being checked?
Posts: 2,894
Threads: 59
Joined: Jun 2010
I have written a solution which you might prefer to a redirect. When a comment is submitted, the script adds the comment to the browser session. If that same comment is submitted again then the script displays an error message. This works both when clicking the back button and refreshing the page. This should prevent repeat comments for the duration of the session which should be about 24 minutes. I suppose I could use a cookie instead if a longer solution is required.
Have
you completed
the interview?
Posts: 6
Threads: 2
Joined: Dec 2010
That sounds awesome! Is it part of the commentics package now? If not can you paste some uber-code - I can figure it out
If it is part of the package can you direct me to what parts I need? The thing is I have modified a few of the commentics files in the past two weeks, and would rather paste the new stuff in, before I completely re-modify the new version you will be releasing in a few months.
And last but not least, is there a way to donate $ to your project?
Thank you
-Pete
Posts: 2,894
Threads: 59
Joined: Jun 2010
Here is the code to paste (It will be included in the next version).
I will send you a PM shortly with information about how to donate to the project.
In
comments/includes/app/processor.php
Find this line (284):
PHP Code:
<?php
$comment = sanitize($comment, false, false, true); //complete sanitization
And paste this after it:
PHP Code:
<?php
if (isset($_SESSION['comment']) && $_SESSION['comment'] == $comment) {
error("You have already submitted this comment.");
}
Then find this line (403):
PHP Code:
<?php
notify_admin_new_comment_approve($name, $comment, $page_id); //notify admin of new comment