0

I know it is popular question, and I read all topics about it. I want to put point for me in this question.

Goal: Detect proxy if user use it

Reason: If user use proxy does not show geo adv. I need to know bool result.

Decision: 1. Use database of proxy IPs (for ex: MaxMind); 2. Check header Connection: keep-alive because cheap proxy does not use persistent connection. But all modern browsers use it; 3. Check other popular headers; 4. Use JS to detect web-proxy by compare browser host and real host.

Questions: 1. Advise database, I read about MaxMind, but some people wrote it is not effective. 2. Check Connection-header. Is it okey? 3. May be I missed something?

PS/ Sorry for my english... I learn it.

Yegor Lukash
  • 510
  • 2
  • 18

3 Answers3

1

Option 1 you suggested is the best option. Proxy detection can be time consuming and complicated.

As you mentioned maxmind and your concern for effectiveness, there are other APIs available like GetIPIntel. It's free and very simple to use. They go beyond simple blacklists and use machine learning and probability theory algorithms to determine a probability value and makes things very accurate.

Option 2 you mentioned doesn't hurt to implement unless you get a lot of false positives. Option 3-4 should not be used alone because it's very easy to get around it. All browser actions can be automated and just because someone is using a proxy, it does not mean they're not using a real browser.

S W
  • 312
  • 2
  • 5
0
  1. You can evaluate IP2Proxy database which is updated daily. It detects open proxy, web proxy, Tor and VPN. https://www.ip2location.com/database/px2-ip-proxytype-country

  2. Check connection header is inaccurate for proxy types such as VPN.

  3. Check headers is easily being defeated. A new generation of proxy will attempt to workaround older generation of detection methods.

Based on our experience, the best method in proxy detection is based on accurate blacklist.

Michael C.
  • 1,410
  • 1
  • 9
  • 20
0

The best way is definitely to use an API. You could use the database from MaxMind but then you need to keep downloading that database and making sure the data is kept up to date by them. And as you said there are questions about the accuracy of MaxMind data.

Personally I would recommend you try https://proxycheck.io which full disclosure is my own site, you get full access to everything for free, premium proxy detecting and blocking with 1,000 daily queries.