TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

My website is being stolen in real time and I don't know what to do

90 pointsby joeyjonesover 11 years ago
I launched the site http:&#x2F;&#x2F;altexplorer.net at the start of January as a Block Explorer and information hub for alternative cryptographic currencies. This morning I found a site http:&#x2F;&#x2F;4co.in which is ripping-off my site in real-time; every time a page is loaded on 4co.in it uses php to load the corresponding page from http:&#x2F;&#x2F;altexplorer.net, removes analytics and ad tags, replaces the site name, and replaces the link URLs.<p>I&#x27;ve put a lot of effort into building this site and keeping it running, and now someone in India is stealing it in real-time. Every page load to 4coin causes an identical page load in the nginx logs of http:&#x2F;&#x2F;altexplorer.net. What can I do besides blocking the source IP address to stop this?<p>Screen shots: Alt Explorer home page: https:&#x2F;&#x2F;d1eem2029tdth0.cloudfront.net&#x2F;img&#x2F;altexplorer-home.png<p>4coin home page: https:&#x2F;&#x2F;d1eem2029tdth0.cloudfront.net&#x2F;img&#x2F;4coin-home.png<p>Alt Explorer profitability page: https:&#x2F;&#x2F;d1eem2029tdth0.cloudfront.net&#x2F;img&#x2F;altexplorer-prof.png<p>4coin profitability page: https:&#x2F;&#x2F;d1eem2029tdth0.cloudfront.net&#x2F;img&#x2F;4coin-prof.png

32 comments

codegeekover 11 years ago
Lot of good suggestions already. I am not sure if you are interested in contacting the perpetrator directly and asking them to stop this but I did a little research for you.<p>looking up the whois info, it says that the registrant&#x27;s email was bgrf@ymail.com<p>When I put this email in google, I came across another spammy site called baklinks.blogspot.com. This site asks you to swap back links. At the bottom of the blog post, I found the name of the person &quot;Naveen K R&quot;<p>I then looked up google with &quot;Naveen K R + bgrf&quot;. I was able to find a site he (probably) runs called www.zokali.com<p>More googling combos, I finally found his linkedin profile and his name &quot;Naveen K Ramanand&quot;<p><a href="https://www.linkedin.com/in/krnaveen" rel="nofollow">https:&#x2F;&#x2F;www.linkedin.com&#x2F;in&#x2F;krnaveen</a>.<p>May be you can contact this guy directly. Seems like he is the one doing this or at least he knows who.
评论 #7241777 未加载
评论 #7241605 未加载
评论 #7242465 未加载
评论 #7241184 未加载
IgorPartolaover 11 years ago
If you end up trying to block his IP, don&#x27;t just DROP or REJECT his packets. TARPIT [1] them! This way not only would you be denying him access, but you would also be draining his resources.<p>Another thing to try is to see just how much data his server will take. See if you can send him a GB-sized response.<p>[1] <a href="http://www.netfilter.org/projects/patch-o-matic/pom-external.html#pom-external-TARPIT" rel="nofollow">http:&#x2F;&#x2F;www.netfilter.org&#x2F;projects&#x2F;patch-o-matic&#x2F;pom-external...</a>
评论 #7243420 未加载
msantosover 11 years ago
The javascript solution has already been suggested, but take a step back and think about it: the same way the leech worked out your links, domain name, logo and all the stuff that brands your website, he can easily figure out the simple JS code suggested here.<p><i>&lt;img src=&quot;x&quot; onerror= &quot;if(document.location.href===&#x27;<a href="http://4co.in&#x27;)document.location=&#x27;//xxxxxx.xxxx&#x27;;&quot;&gt;" rel="nofollow">http:&#x2F;&#x2F;4co.in&#x27;)document.location=&#x27;&#x2F;&#x2F;xxxxxx.xxxx&#x27;;&quot;&gt;</a> </i><p>So I say, go a step further:<p>- do not send his users to a black hole, instead show a banner warning them about the leech and then after a few seconds redirect the user to your website.<p>- The JS code for the above should go in the same JS file that provides core functionality to your website. After done that, run your JS past <a href="http://closure-compiler.appspot.com/home" rel="nofollow">http:&#x2F;&#x2F;closure-compiler.appspot.com&#x2F;home</a> or if you better still install the yuicompressor cli (<a href="http://yui.github.io/yuicompressor/" rel="nofollow">http:&#x2F;&#x2F;yui.github.io&#x2F;yuicompressor&#x2F;</a>) in your machine. The resulting code will be minified&#x2F;compressed and seriously obfuscated. So trying to defeat it will that the leech hours if not days depending on his experience.<p>- encode&#x2F;obfuscate the warning string (1st topic) to make it harder to find within the JS code.<p>- and finally do a daily spot check on website following @jarrett comment below
pilomover 11 years ago
You found out the right first step yourself: Block the source IP address. Sure it will turn into a game of whack-a-mole with them changing their IP but eventually, their customers will get fed up with their downtime.<p>Second idea: Javascript redirect all of your pages to your own subdomain. Again, its just a step in an arms race, but this would be a little too hard&#x2F;expensive to take to court. You can win an arms race if you try.
评论 #7240394 未加载
评论 #7240519 未加载
评论 #7240282 未加载
评论 #7240512 未加载
al2o3crover 11 years ago
Detect their IP and 301 their requests to goatse. Or something worse, if you&#x27;re bent like that. :)
评论 #7240557 未加载
评论 #7240319 未加载
danneuover 11 years ago
Don&#x27;t punish users. The goal here shouldn&#x27;t be to silently redirect or deceive them with fake data or throw up goatse.<p>Instead, make it annoyingly clear to anyone that visits 4co.in that the content is stolen. 4co.in users aren&#x27;t visiting 4co.in to spite you. They just don&#x27;t know and will gladly use your website instead.<p>The game of whack-a-mole is strongly in your favor because you&#x27;re on the right side of a trapdoor.
michaelmcmillanover 11 years ago
&lt;img src=&quot;x&quot; onerror= &quot;if(document.location.href!=&#x27;<a href="http://altexplorer.net&#x27;)document.location=&#x27;//goatse.cx&#x27;;&quot;&gt;" rel="nofollow">http:&#x2F;&#x2F;altexplorer.net&#x27;)document.location=&#x27;&#x2F;&#x2F;goatse.cx&#x27;;&quot;&gt;</a>
评论 #7240554 未加载
评论 #7240551 未加载
评论 #7240522 未加载
SEJeffover 11 years ago
Look for either the php user agent and&#x2F;or the source ip. Why not use mod_redirect or something and redirect him to some bizarre internet meme site? I would suggest tub girl or goatse. It will get the point across very loud and clear. Or, just serve a different copy of your site to him that makes it loud and clear what he is doing is not ok. Either way, you can use mod_rewrite to cause this guy agony and prevent him from perpetrating this.
评论 #7241814 未加载
icedchaiover 11 years ago
recommendation: respond with fake data, based on source IP. the problem will take care of itself.
评论 #7240273 未加载
评论 #7240372 未加载
评论 #7240272 未加载
评论 #7240281 未加载
Faintover 11 years ago
Could we make him pay a few bucks?<p>Specifically, can we make him traffic multiply? I wonder what exactly is he doing with request headers... maybe this could work:<p>1) set up page &#x2F;fluffy with wildly compressing contents, say 50MB of $£€$£€$£€$£€$£€.. always force gzip encoding 2) set up a few bots (amazon?) to download that page from his site, but do not accept any compression<p>Start the attack on some time the guy is probably sleeping, it might go on for a few hours before he notices, costing him a couple of hundred bucks in bandwidth.<p>Or maybe just some cpu waste in same vein: the guy has to open the gzip before forwarding to do string replace and re-zip it afterwards, so you can make sure that the content REALLY balloons..
beauzeroover 11 years ago
Instead of blocking source IP. Detect and send &quot;unwanted information&quot;.
评论 #7240539 未加载
tedivmover 11 years ago
You can use javascript frame busting techniques to redirect back to the main page. You can also use mod_rewrite or some proxy setups to make it so a completely different set of pages shows up for people coming from that site. This is better than just blocking it because it&#x27;s a bit more subtle and lets you tell that site&#x27;s users what&#x27;s happening.
评论 #7240500 未加载
pzxcover 11 years ago
This exact same thing happened to me a couple years ago.<p>This is how I got it resolved within a day:<p><a href="http://pzxc.com/internet-is-still-wild-west" rel="nofollow">http:&#x2F;&#x2F;pzxc.com&#x2F;internet-is-still-wild-west</a>
podmanover 11 years ago
I dealt with a somewhat similar situation a while back: <a href="https://news.ycombinator.com/item?id=4291454" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=4291454</a><p>I issued a DMCA takedown notice to their host and it was taken care of in a couple of days. I suggest doing the same.
segmondyover 11 years ago
If you have time, go to war.<p>Have a page that spits the IP&#x2F;hostname of referrer in a hidden section. Using that you can identify the IP&#x2F;hostnames, so if he changes, you can always detect it.<p>Now that you can detect him, when he crawls your site, feed him garbage info for every single page, then constantly check his page for the hidden ip&#x2F;hash in case he changes his IP&#x2F;host. Hide that in a minified js. You can also feed his page bogus links that violates google&#x27;s SEO so he can get blacklisted.
评论 #7241619 未加载
vdanceover 11 years ago
First post here at HN... but I would try a shame tactic (per codegeek&#x27;s helpful name research). In a nice bright box just above your normal content, send the following text back to his IP address ...<p>&quot;Hello, my name is &lt;insert his name here once you are certain&gt; and I&#x27;ve stolen the content that you are viewing right now -- someone&#x27;s hard work. I stole it in a very intentional and fairly disrespecful way. Sometimes we get life lessons and this may well be one of mine. Instead of using my skills to do good with the precious time that I have in this beautiful world, I&#x27;ve chosen to write a fairly nefarious script to copy every single page of someone else&#x27;s website and suck it back into my website, so that I can profit from someone else&#x27;s work. The message you are reading right now may go away for a day or two, if I change my IP address. But rest assured, it will be back once my IP address is rediscovered. This event will also follow me forever on search engines when people search my name -- future employers, friends, family. I have been doing this for &lt;x&gt; days and have been asked to stop. I haven&#x27;t yet, but time will tell.... (&lt;insert-pretty-date-here&gt;)<p>In the meantime, if you would like to visit the real website go &lt;here&gt;...&quot;
matt_heimerover 11 years ago
The JavaScript frame busting methods are not the right approach, you have no control over what his users see. There is no reason he can&#x27;t filter out any JavaScript or other HTML. In fact he might not even display your live HTML. He might have copied it to make his page templates and it scraping just the data from your site, you just don&#x27;t know. If he isn&#x27;t doing this now, he will if he gets in an arms race with you.<p>You need to return bad data to his site by IP address and possibly user-agent. Don&#x27;t make the data bad to mess with the users, just make it return unusable data, for example all numbers are zeros. Then what you do it make a scheduled task that scraps <i>his</i> website (using his domain name). If you start getting HTTP requests in your logs that correspond to the schedule job you created then you add the new requesting IP to the blacklist of funny data, then make a second request to his website validate the IP you blacklisted. You could setup your scrapping tool to use random tor exit nodes and cycle the user-agent info.<p>He could do the same (random ips) but might not... Really you need some type of accountability which you can never have on a public website but requiring registration&#x2F;authentication would help some if it becomes that important to you.
joeyjonesover 11 years ago
Sample log excerpt: 162.222.227.123 - - [14&#x2F;Feb&#x2F;2014:18:18:48 +0000] &quot;GET &#x2F; HTTP&#x2F;1.1&quot; 200 23271 &quot;-&quot; &quot;-&quot; &quot;162.222.227.123&quot;<p>162.222.227.123 - - [14&#x2F;Feb&#x2F;2014:18:37:51 +0000] &quot;GET &#x2F;chain&#x2F;42 HTTP&#x2F;1.1&quot; 200 76170 &quot;-&quot; &quot;-&quot; &quot;162.222.227.123&quot;<p>162.222.227.123 - - [14&#x2F;Feb&#x2F;2014:17:40:58 +0000] &quot;GET &#x2F;block&#x2F;0e67dcf5f6797840a98061af7581138f2347feb168d78f7138d4268c6f854748 HTTP&#x2F;1.1&quot; 200 15719 &quot;-&quot; &quot;-&quot; &quot;162.222.227.123&quot;<p>162.222.227.123 - - [14&#x2F;Feb&#x2F;2014:18:38:21 +0000] &quot;GET &#x2F;tx&#x2F;6c636ebff9674f4168b80b415f8a9097509802992b0422a4fa98c543da9c068e HTTP&#x2F;1.1&quot; 200 15898 &quot;-&quot; &quot;-&quot; &quot;162.222.227.123&quot;<p>162.222.227.123 - - [14&#x2F;Feb&#x2F;2014:17:41:05 +0000] &quot;GET &#x2F;address&#x2F;GRjc357hnC7THEUPVJmpMmCjSAGn54CJnx HTTP&#x2F;1.1&quot; 200 14034 &quot;-&quot; &quot;-&quot; &quot;162.222.227.123&quot;<p>162.222.227.123 - - [14&#x2F;Feb&#x2F;2014:18:13:21 +0000] &quot;GET &#x2F;news HTTP&#x2F;1.1&quot; 200 16675 &quot;-&quot; &quot;-&quot; &quot;162.222.227.123&quot;<p>162.222.227.123 - - [14&#x2F;Feb&#x2F;2014:18:19:12 +0000] &quot;GET &#x2F;profitability HTTP&#x2F;1.1&quot; 200 188354 &quot;-&quot; &quot;-&quot; &quot;162.222.227.123&quot;
评论 #7240531 未加载
lotsofmangosover 11 years ago
Use imagemagick to watermark all image requests on the fly so you can keep changing the position of a url watermark on all images.<p>edit - actually, don&#x27;t do this as it is trivially easy to get around by doing 2 or 3 requests and keeping anything that hasn&#x27;t changed.<p>Or if you do do this, add a low level noise filter on top so that the attacker can&#x27;t just directly equate pixel values.
asmosoinioover 11 years ago
Currently 4co.in is showing this:<p>--- Site is down!<p>Sorry everyone! i really apologize for what happend!!<p>It all happend because of my silly mistake and misconfiguration and it was affected for at max 10hrs.<p>Instead of making a scene somebody would have contacted me!<p>Now i understand the risks of live development. It was not my intension to steal anything. ---
jt2190over 11 years ago
Before you react, try to estimate on how much money this is costing you, then determine how much money you&#x27;re willing to spend to combat the problem. Try to keep the costs of your response in line with the damage inflicted.
asmosoinioover 11 years ago
I think mentioning the short URL provider auto-killed fragmede&#x27;s comment, and my copy&amp;paste of it. Here goes again:<p>fragmede&#x27;s comment below is [dead], but has very good advice.<p>---<p>Nice bit of news you added to the top, which 4co.in is putting on their own site.<p>One piece of advice though: Drop the short link and link directly to altexplorer.net, otherwise it looks like 4co.in was &#x27;hacked&#x27; and the short link is a phishing&#x2F;some other sort of scam and not legit.<p>You should be able to pickup the 4coi.in domain as the referrer if you want metrics for how many people were using 4co.in.<p>---
评论 #7240895 未加载
评论 #7240921 未加载
benologistover 11 years ago
Report them to their web host and the ad networks they use. Don&#x27;t troll them with different content just go for the kill - some accounts like AdSense carry lifetime bans.
评论 #7240264 未加载
TrainedMonkeyover 11 years ago
I would contact the other site first and find out WTF. It is unlikely, but they might have a good reason for it. If they are just trying to rip you off, solution might be as simple as just asking them to stop.
评论 #7240382 未加载
评论 #7246446 未加载
RobPomeroyover 11 years ago
You should be able to apply behavioural detection here even if the IP address changes - they&#x27;d have to be polling your site regularly. Is there a discernible pattern in the logs?
JohnTHallerover 11 years ago
In addition to the other ideas here, I&#x27;d also recommend feeding a completely fake site to the source IP of the thief. Possibly including some political ideas that could get him in trouble in his host country (up to you depending on how mean you wish to be).
评论 #7246452 未加载
scraper90210over 11 years ago
there are companies offering services to deal with this, just depends on how much your time is worth. Here is one option. www.distilnetworks.com ... in case you tire of whack-a-mole
fcerutiover 11 years ago
Serve a different website for that ip with fake data.
rakooover 11 years ago
And here I thought &quot;copying is not theft&quot;
评论 #7240639 未加载
i386over 11 years ago
Why not feed his visitors subtly incorrect data?
评论 #7241843 未加载
justanotherover 11 years ago
In a word: Goatse.
raverbashingover 11 years ago
Ok, time for a reality check<p>If you can&#x27;t imagine what to do in this situation you shouldn&#x27;t be running a website of this nature<p>This type of thing can (and does) happen and it&#x27;s up to you to know how to defend yourself.<p>The others have given plenty of ideas, but I guess there are more specific things that can be done depending on their page structure&#x2F;ads etc
评论 #7240610 未加载
评论 #7240625 未加载
评论 #7240818 未加载
评论 #7240497 未加载