Block Search Terms


https://forum.kartris.com/Topic2790.aspx
Print Topic | Close Window

By ianguest - Thu 30 Jan 2014
I am seeing a number of recurring search terms being entered through the search function of our Kartris website. How can I block these terms? Or block the person / bot that is conducting this??

Search terms:

cheap189
louis129
vuitton129
jerseys116
replica45
outlet43
wholesale42
sale36
nfl32
china29
shoes24
michael23
kors23
babyliss19
online19
handbags18
louboutin17
nba17
bags17
uggs17
By Neil - Thu 30 Jan 2014
Can you block the IP/IP range in windows firewall?
By Mart - Thu 30 Jan 2014
I think even if you found the IPs, it won't work to block. This is the work of a bot - the same sort that posts cheesy links in blogs etc... probably what it is trying to do... thinks search form is a blog posting form, hammers it with cheesy spam.

Chances are its firing from all sorts of IPs (probably hacked machines) to avoid any blocking.

I guess would need to add a block list of words that you can build up that won't register in search.
By Paul - Thu 30 Jan 2014
I did wonder that maybe we can add the no-bot ajax control to the search page, but this isn't really possible because we allow the search page to accept input from a querystring, so you could embed a search box on a third party site that searches your site, or format links that run a search.

As Mart said, IP blocking willl probably need constant adjustments as they'll skip around from various hijacked machines. So I think the only option would be either to block particular words, or maybe simpler, to format a query that removes all search data for certain words which could be run periodically to clean up these stats. SOmething like:

DELETE FROM tblKartrisSearchStatistics WHERE SS_Keyword='TERM'
By ianguest - Fri 14 Feb 2014
I agree.

But Kartris is logging errors as below.

Can you explain what could be causing them?
And the hosting provider has asked: How are you handling invalid input (IE deadquery strings etc.)?

-----------------------------------------------------------------------------
>> URL:http://www.safety-express.co.uk/Search.aspx?strKeywords=c.scope,cxl,calibration&strResults=y&PPGR=0
>> Page:
-----------------------------------------------------------------------------
>> 13/02/2014 09:28:22
>> 184.173.183.174
>> DESCRIPTION:
System.NullReferenceException: Object reference not set to an instance of an object.
at Search.GetSearchResult(String strKeyWords, String strSearchText, String strSearchMethod)
at Search.Page_Load(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

==================================================

-----------------------------------------------------------------------------
>> KartrisDBBLL.GetSearchResult
-----------------------------------------------------------------------------
>> System.IndexOutOfRangeException
>> 13/02/2014 09:28:32
>> URL:http://www.safety-express.co.uk/Search.aspx?strKeywords=Helmet&strResults=y&PPGR=0
>> 50.97.52.130
>> CUSTOM MESSAGE:
Error: An unknown error has occurred. Please check the error logs for any info.
>> MESSAGE:
Cannot find table 0.
>> STACK:
at System.Data.DataTableCollection.get_Item(Int32 index)
at KartrisDBBLL.GetSearchResult(Boolean blnIsFTS, String pSearchText, String pKeyList, Int16 pLanguageID, Int16 pPageIndx, Int16 pRowsPerPage, Int32& pTotalSearchResult, Single pMinPrice, Single pMaxPrice, String pSearchMethod, Int16 pCustomerGroupID)
==================================================

-----------------------------------------------------------------------------
>> URL:http://www.safety-express.co.uk/Search.aspx?strKeywords=Helmet&strResults=y&PPGR=0
>> Page:
-----------------------------------------------------------------------------
>> 13/02/2014 09:28:32
>> 50.97.52.130
>> DESCRIPTION:
System.NullReferenceException: Object reference not set to an instance of an object.
at Search.GetSearchResult(String strKeyWords, String strSearchText, String strSearchMethod)
at Search.Page_Load(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

==================================================