[TAC] Stop Human Spam

[TAC] Stop Human Spam [Paid] 1.4.8

No permission to buy ($19.00)
oh, @Clickfinity in actual fact, that message is correct:

The number of Likes you've received must exceed: -1 (Yours: 0)

Not using -1 and using 0 would be incorrect (implying they would need more than 0, not 0 or more)
So, I would recomend just taking that line out of the message where you have set this to 0
 
Not using -1 and using 0 would be incorrect (implying they would need more than 0, not 0 or more)
So, I would recomend just taking that line out of the message where you have set this to 0

Ah, yes, exceed indeed - I'll remove them from the notice. Thanks. (y)
 
Having used the add-on for a few days I've found a little glitch, and I'm not sure if it's a setting thing or just the way the add-on currently works?
  • User X meets the SHS checking criteria so anything he posts is run past the add-on before appearing on the site.
  • He posts a reply to user Y.
  • User Y's content is wrapped in [QUOTE ] BBcode and user X types his reply underneath and hits the post button.
  • The add-on now checks User X's content and finds a hyperlink (in user Y's quoted post). Having found a link the add-on treats it as belonging to user X and he gets penalised by having his post rejected.

Could the add-on be modified to ignore links within [QUOTE ] text? Or maybe given an option to enable the ignoring of quoted text?

Cheers,
Shaun :D
 
Hmm, but isn't that correct

Are you saying, user X should not be able to post links (due to link-post-rules)
But they should be able to post links if they are contained within another persons quote?

That to me sounds like a door to allow spammers to post links, example:

But I didn't say that... where did this link come from !!!!!

If human spammers know about a route they can use, you can almost guarantee they will use it over and over
 
Are you saying, user X should not be able to post links (due to link-post-rules)
But they should be able to post links if they are contained within another persons quote?

Yes, that's what I was saying - but I'd hadn't thought about a scenario where spammers would test and use the manipulation of the quoted text for their own evil ends!! Perhaps they would if given the opportunity.

Unfortunately for me it is hampering brand new users being able to respond when the post they are replying to contains a link; hence the suggestion that an option be added to allow the bypass of [QUOTE ]'d hyperlinks, but still stop links in the reply text.

Alternatively, and I haven't tried it yet to know - if I use the option to pass caught posts to moderation, could I then manually approve such posts and would they "pass" once approved from the moderator queue? That might be a better way to handle it. (y)
 
@tenants , got some strange maybe bug..
Options "Banned Thread Title Words" and "Banned Post Content Words" does not support cyrillic symbols (got russian language). Really need to be it supported. Any suggestions? :)
 
Ah, I've seen why this might be

I think I should be using
Code:
preg_match("/(?<!\pL)" . preg_quote($bWord) . "(?!\pL)/i", $message, $matches);
and not
Code:
preg_match("/\b" . preg_quote($bWord) . "\b/i", $message, $matches);
for internationalisation (regex word boundary \b doesn't pick up Russian words)

I'll make an update shortly
 
I got this error today:

Error Info
ErrorException: Undefined property: XenForo_ControllerResponse_Reroute::$params - library/Tac/StopHumanSpam/ControllerPublic/Thread.php:161
Generated By: Фея цветов 2, Yesterday at 5:25 PM
Stack Trace
#0 /var/www/ldportal/data/www/blabla/library/Tac/StopHumanSpam/ControllerPublic/Thread.php(161): XenForo_Application::handlePhpError(8, 'Undefined prope...', '/var/www/ldport...', 161, Array)
#1 /var/www/ldportal/data/www/blabla/library/Tac/StopHumanSpam/ControllerPublic/Thread.php(137): Tac_StopHumanSpam_ControllerPublic_Thread->addReplyResponse(true)
#2 /var/www/ldportal/data/www/blabla/library/XenForo/FrontController.php(347): Tac_StopHumanSpam_ControllerPublic_Thread->actionAddReply()
#3 /var/www/ldportal/data/www/blabla/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#4 /var/www/ldportal/data/www/blabla/index.php(13): XenForo_FrontController->run()
#5 {main}
Request State
array(3) {
["url"] => string(86) "http://blabla/t/tomaty-v-kvartire-na-balkone-v-oranzheree.7337/add-reply"
["_GET"] => array(0) {
}
["_POST"] => array(7) {
["message_html"] => string(813) "<p>
Девчонки, на форуме есть тема про стимуляторы, в том числе и про НВ-101. Вот <a href="http://blabla/t/biostimuljatory-nv-101-ribav-atlet-domocvet-jantarnaja-k-ta-dr.11583/" class="internalLink ProxyLink" data-proxy-href="http://blabla/t/biostimuljatory-nv-101-ribav-atlet-domocvet-jantarnaja-k-ta-dr.11583/">тут</a>. Там все интересно и подробно расписано.</p><p>А у нас наконец-то солнышко ежедневное, томаты растут крепкими, не тянутся. Завтра сфотографирую, покажу тут.
</p><p><br></p><p>@ lnhuman, спасибо, пойду почитаю.</p>"
["_xfRelativeResolver"] => string(84) "http://blabla/t/tomaty-v-kvartire-na-balkone-v-oranzheree.7337/page-58"
["more_options"] => string(36) "Расширенный режим..."
["attachment_hash"] => string(32) "885620d3d73e85a0f2dcca88ff2d5880"
["last_date"] => string(10) "1396181744"
["last_known_date"] => string(10) "1396181744"
["_xfToken"] => string(8) "********"
}
}
 
Just fixed it this second ;) Testing it now

Basically, when moderating posts, I was checking if
$responseView instanceof XenForo_ControllerResponse_Redirect

If it was, then I had to query to get the posts and update them
If it wasn't, I made the assumption that it was a XenForo_ControllerResponse_View

So we could just grab the posts from the $responseView->params... however, this assumption isn't necessary true. A plugin could override the thread and not send back a XenForo_ControllerResponse_View containing params or posts.

I now check
!$responseView instanceof XenForo_ControllerResponse_View

Will send out new version in a few minutes
 
Error log is filling up with :

#0 [internal function]: XenForo_Application::handlePhpError(8, 'unserialize(): ...', '/opt/www/riu/xf...', 45, Array)
#1 /opt/www/riu/xf/library/XenForo/Model/UserChangeLog.php(45): unserialize('0')
#2 /opt/www/riu/xf/library/XenForo/Model/User.php(2794): XenForo_Model_UserChangeLog->logChanges(152853, Array, NULL)
#3 /opt/www/riu/xf/library/XenForo/DataWriter/User.php(1048): XenForo_Model_User->logChanges(152853, Array)
#4 /opt/www/riu/xf/library/XenForo/DataWriter.php(1409): XenForo_DataWriter_User->_postSave()
#5 /opt/www/riu/xf/library/XenForo/ControllerPublic/Account.php(311): XenForo_DataWriter->save()
#6 /opt/www/riu/xf/library/Tac/StopHumanSpam/ControllerPublic/Account.php(136): XenForo_ControllerPublic_Account->actionPersonalDetailsSave()
#7 /opt/www/riu/xf/library/XenForo/FrontController.php(347): Tac_StopHumanSpam_ControllerPublic_Account->actionPersonalDetailsSave()
#8 /opt/www/riu/xf/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#9 /opt/www/riu/xf/index.php(13): XenForo_FrontController->run()
#10 {main}
 
What version are you running and what is the 1st line of the error message (not just the stack trace)
 
Could you first try the latest version and let me know if it still happens:
http://www.surreyforum.co.uk/thread...ge-stop-posts-creation-for-banned-words.1908/

I've installed it on a few forums and none raise errors. However, your error seems to originate from this (this is a call from core)
Code:
        foreach ($changedFields AS $field => $values)
        {
            if ($field == 'custom_fields')
            {
                $oldValues = unserialize($values[0]);

Do you have custom fields on your personal details page
Do you also have plugins that affect these custom fields

... If so, is it possible that one of those plugins has set a string rather a serialised value for the field (I'm just guessing at the moment, until I can reproduce it).

So
1) Upgrade to the latest version of shs if you can
2) Let me know about your personal details area (are there custom fields, and are any from other plugins)
 
Could you first try the latest version and let me know if it still happens:
http://www.surreyforum.co.uk/thread...ge-stop-posts-creation-for-banned-words.1908/

I've installed it on a few forums and none raise errors. However, your error seems to originate from this (this is a call from core)
Code:
        foreach ($changedFields AS $field => $values)
        {
            if ($field == 'custom_fields')
            {
                $oldValues = unserialize($values[0]);

Do you have custom fields on your personal details page
Do you also have plugins that affect these custom fields

... If so, is it possible that one of those plugins has set a string rather a serialised value for the field (I'm just guessing at the moment, until I can reproduce it).

So
1) Upgrade to the latest version of shs if you can
2) Let me know about your personal details area (are there custom fields, and are any from other plugins)

I only have the free version of TAC, only a few plugins on this brand new xf install but none that would change/add custom fields
 
Hmm... I need to be able to reproduce it to fix it (If it is something I need to fix)

Try step 1 first (It might be something I have already fixed)
1) Upgrade to the latest version of shs if you can

If you don't have access to the latest (can't download via the link above), let me know and I will send it to you via email

It's still a bit strange, it sounds like something that can't be unserialised has already got into the database (and it is a custom field value)...
None of the TAC Plugins insert / modify custom fields, so .... how did it get in there, suspicious o_O

I'm also going to guess that you get this error without StopHumanSpam turned on (just try as a test, once you know what it is that reproduces it.. it sounds like just a profile save might trigger it)
 
Last edited:
Hmm... I need to be able to reproduce it to fix it (If it is something I need to fix)

Try step 1 first (It might be something I have already fixed)


If you don't have access to the latest (can't download via the link above), let me know and I will send it to you via email

It's still a bit strange, it sounds like something that can't be unserialised has already got into the database (and it is a custom field value)...
None of the TAC Plugins insert / modify custom fields, so .... how did it get in there, suspicious o_O

I'm also going to guess that you get this error without StopHumanSpam turned on (just try as a test, once you know what it is that reproduces it.. it sounds like just a profile save might trigger it)


The link your talking about is the surrey forums one correct ?
 
Top Bottom