Current process:
1. CL displays edit form.
2. User types message and presses Send.
3. CL sends message to Teffania.
New process:
1. CL displays edit form.
2. User types message and presses Send.
3. CL checks to see if message contains "<a href" or "http". If not, jump to step 7.
4. CL redisplays edit form, but with a simple captcha such as "what is 2+4?" or "when Alfar and Elspeth were on the throne, who was the king?". Should explain clearly that this is a simple test to make sure that the user is a human being and not a spambot.
5. Provided the result of the test is correct (answers: "6" and "some bloke with a big stick"), jump to step 7.
6. To reduce the efficiency of human spammers, implement some kind of delay. Take a very long time to redirect back to step 4.
7. CL sends message to Teffania.
We could easily produce a couple of dozen questions with obvious answers, and stick them in a config file. Every now and then someone could go in and add to them, just for fun. No need for much more brainpower beyond "if (strtolower(trim($response)) == $correct_answer) { ... }".
I'm thinking it should go like this.
Current process:
1. CL displays edit form.
2. User types message and presses Send.
3. CL sends message to Teffania.
New process:
1. CL displays edit form.
2. User types message and presses Send.
3. CL checks to see if message contains "<a href" or "http". If not, jump to step 7.
4. CL redisplays edit form, but with a simple captcha such as "what is 2+4?" or "when Alfar and Elspeth were on the throne, who was the king?". Should explain clearly that this is a simple test to make sure that the user is a human being and not a spambot.
5. Provided the result of the test is correct (answers: "6" and "some bloke with a big stick"), jump to step 7.
6. To reduce the efficiency of human spammers, implement some kind of delay. Take a very long time to redirect back to step 4.
7. CL sends message to Teffania.
We could easily produce a couple of dozen questions with obvious answers, and stick them in a config file. Every now and then someone could go in and add to them, just for fun. No need for much more brainpower beyond "if (strtolower( trim($response) ) == $correct_answer) { ... }".