The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Comments |
#12
|
|||
|
|||
![]()
How can I get this code to work with 3.0.x?
It looks good, but so far I did not see a good way to get it to work with the older version. |
#13
|
||||
|
||||
![]() Quote:
|
#14
|
|||
|
|||
![]()
Well I got it working.
in the send message.php I added the code in two parts: This part went into the E-mail permissions piece. Just before the initialisation of the error array. Since (as I understood) this blocks mail sent from outside the page, I left the Die message in it. Don't make them wise ![]() Look for: Code:
// initialize errors array $errors = array(); Code:
//ANTI SPAM PART 1 $AntiSpamMessage1 = 'Spam filter: Please send your message through the appropriate message form.'; $AntiSpamMessage2 = 'Spam filter: Your message has not been accepted since it has some SPAM like properties.'; // Make sure the form was sent from a browser if(!$_SERVER['HTTP_USER_AGENT']) { die($AntiSpamMessage1); } // Make sure the form was POSTed if(!$_SERVER['REQUEST_METHOD'] == 'POST') { die($AntiSpamMessage1); } //END ANTI SPAM PART 1 In the section // ############################### do contact webmaster ############################### Look for: Code:
// if it's all good... send the email if (empty($errors)) Code:
//ANTI SPAM PART 2 // Allow only the sendmessage script $MyReferrer = strtolower($_SERVER['HTTP_REFERER']); $MyURL = strtolower($vboptions['bburl'] . '/' . $vboptions['contactuslink']); if($MyReferrer != $MyURL) { eval('$errors[] = "' . $AntiSpamMessage1 . '";'); } // Check for strings in the message body. // This string is found in automated browsers (all yet) at the bottom. // For completeness we parse all post variables for this string. // Prepared for more recognition strings. $MyStrings = array( '9c53d2119880d95e96e1a71e3a6c8340', // the start 'dc64615b0a1e1bd3cb2689bf82248b5c', // 2006-06-27 'f4dd026ac39b9e2fa576404ae93f215c', // 2006-06-30 '849b90dee61199d2ed871b18e1575cb5', // 2006-07-06 '05980283d7fb0e8cc54b17a2b2a0ab96', // 2006-07-10 '70fcdb09b8b18b50874603a6c99fcbcb', // 2006-07-15 'bd0e28eaccfa349da99ddd3880835725', // 2006-07-16 '71b0d16f90c6ef289fb9e0b08b44fd7c', // 2006-07-16 'df487ef8b49cead02c1a5d00a04288ce', // 2006-07-21 '6d02afe3993f73507d90e3f877d8eed8', // 2006-07-23 '5064a72d6d1acabba6a21f655481a5b5', // 2006-07-24 '33766d282efd27c3468309e546e247c5', // 2006-07-29 'c9551bfed82d85381e7fd1deb6fef0af' // 2006-07-30 ); // Loop through each POST item and check for the headers foreach($_POST as $MyKey => $MyPostItem) { $MyTempItem = strtolower($MyPostItem); foreach($MyStrings as $MyString) { if(strpos($MyTempItem, strtolower($MyString)) !== FALSE) { eval('$errors[] = "' . $AntiSpamMessage2 . '";'); } } } // Cleanup unset($MyDieMessage, $MyReferrer, $MyURL, $MyHeaders, $MyKey, $MyPostItem, $MyTempItem, $MyHeader, $MyStrings, $MyString); //END ANTI SPAM PART 2 |
#15
|
||||
|
||||
![]() Quote:
![]() |
#16
|
|||
|
|||
![]()
True word.... I noticed
And the'' be kind show the user what is wrong' is also not a good idea. Updating the errorstring and showing the form again invites the spammer (spambot) to retry. My server got huge pageloads in the last couple of hours (5 times more) with a normal, even a bit low, amount of visitors. Which resulted in an overloaded CPU. I saw I forgot two pieces of code. And with the just Die version you will get this for the second part: Code:
//ANTI SPAM PART 2 // Allow only the sendmessage script $MyReferrer = strtolower($_SERVER['HTTP_REFERER']); $MyURL = strtolower($vboptions['bburl'] . '/' . $vboptions['contactuslink']); if($MyReferrer != $MyURL) { //eval('$errors[] = "' . $AntiSpamMessage1 . '";'); die($AntiSpamMessage); } // Filter header injections $MyHeaders = array( "content-type:", "mime-version:", "content-transfer-encoding:", "bcc:", "cc:" ); // Check for the number of hrefs in settings. // This makes it pretty secure against future spam versions. $MyPostItem = strtolower($_POST['message']); $MyTempItem = explode('href=', $MyPostItem); if(count($MyTempItem) >= 2) { die($AntiSpamMessage); } // Loop through each POST item and check for the headers foreach($_POST as $MyKey => $MyPostItem) { $MyTempItem = strtolower($MyPostItem); foreach($MyHeaders as $MyHeader) { if(strpos($MyTempItem, $MyHeader) !== FALSE) { die($AntiSpamMessage); } } } // Check for strings in the message body. // This string is found in automated browsers (all yet) at the bottom. // For completeness we parse all post variables for this string. // Prepared for more recognition strings. $MyStrings = array( '9c53d2119880d95e96e1a71e3a6c8340', // the start 'dc64615b0a1e1bd3cb2689bf82248b5c', // 2006-06-27 'f4dd026ac39b9e2fa576404ae93f215c', // 2006-06-30 '849b90dee61199d2ed871b18e1575cb5', // 2006-07-06 '05980283d7fb0e8cc54b17a2b2a0ab96', // 2006-07-10 '70fcdb09b8b18b50874603a6c99fcbcb', // 2006-07-15 'bd0e28eaccfa349da99ddd3880835725', // 2006-07-16 '71b0d16f90c6ef289fb9e0b08b44fd7c', // 2006-07-16 'df487ef8b49cead02c1a5d00a04288ce', // 2006-07-21 '6d02afe3993f73507d90e3f877d8eed8', // 2006-07-23 '5064a72d6d1acabba6a21f655481a5b5', // 2006-07-24 '33766d282efd27c3468309e546e247c5', // 2006-07-29 'c9551bfed82d85381e7fd1deb6fef0af' // 2006-07-30 ); // Loop through each POST item and check for the headers foreach($_POST as $MyKey => $MyPostItem) { $MyTempItem = strtolower($MyPostItem); foreach($MyStrings as $MyString) { if(strpos($MyTempItem, strtolower($MyString)) !== FALSE) { //eval('$errors[] = "' . $AntiSpamMessage2 . '";'); die($AntiSpamMessage); } } } // Cleanup unset($AntiSpamMessage, $MyReferrer, $MyURL, $MyHeaders, $MyKey, $MyPostItem, $MyTempItem, $MyHeader, $MyStrings, $MyString); //END ANTI SPAM PART 2 |
#17
|
||||
|
||||
![]()
Thanks for adding your code modifications for 3.0.x
![]() |
#18
|
|||
|
|||
![]()
Hey peeps!
Great thought on this hack, we have just started to recieve loads of thoose nice rolex watch ads through there lol. I installed via the pluggin system, set the max hyperlinks too 3. But, logged in as admin, i now cant test the system it seems? It always renders me the Spam Filter: msg! Any ideas ? |
#19
|
||||
|
||||
![]() Quote:
![]() |
#20
|
|||
|
|||
![]() Quote:
|
#21
|
||||
|
||||
![]()
You are welcome
![]() |
![]() |
Thread Tools | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|