Jump to content

Reliable way to block Opera 12 and down

ThreePinkApples

I'm looking for a fully reliable way to block Opera 12 and down.

The only way to detect it reliably is the javascript 
 

var isOpera = !!window.opera;

which works fine. The problem I have is, is there some way for people to block this specific JavaScript?
I have it running on every page so it will run each refresh so the block have to apply each page load.

Can an extension do that?

Or can an extension maybe just block all redirects so I can't send them away from the page to another?

 

Need ideas.

This is for a game that have troubles with people using Opera to do things that have taken care of in other browser, but we seem to not be able to stop it in Opera 12 and below.

Since it is an old browser anyways we do not see any problem blocking it completely 

Ryzen 7 5800X     Corsair H115i Platinum     ASUS ROG Crosshair VIII Hero (Wi-Fi)     G.Skill Trident Z 3600CL16 (@3800MHzCL16 and other tweaked timings)     

MSI RTX 3080 Gaming X Trio    Corsair HX850     WD Black SN850 1TB     Samsung 970 EVO Plus 1TB     Samsung 840 EVO 500GB     Acer XB271HU 27" 1440p 165hz G-Sync     ASUS ProArt PA278QV     LG C8 55"     Phanteks Enthoo Evolv X Glass     Logitech G915      Logitech MX Vertical      Steelseries Arctis 7 Wireless 2019      Windows 10 Pro x64

Link to comment
Share on other sites

Link to post
Share on other sites

Yes an extension can block that (you don't even need to use an extension, you can just turn off javascript)

"My game vs my brains, who gets more fatal errors?" ~ Camper125Lv, GMC Jam #15

Link to comment
Share on other sites

Link to post
Share on other sites

Yes, but turning of JavaScript will brake the site, so that won't solve anything. I am looking (if it exists) for a method that can block a specific JavaScript if you know what it is (just look at it in other browsers)

Ryzen 7 5800X     Corsair H115i Platinum     ASUS ROG Crosshair VIII Hero (Wi-Fi)     G.Skill Trident Z 3600CL16 (@3800MHzCL16 and other tweaked timings)     

MSI RTX 3080 Gaming X Trio    Corsair HX850     WD Black SN850 1TB     Samsung 970 EVO Plus 1TB     Samsung 840 EVO 500GB     Acer XB271HU 27" 1440p 165hz G-Sync     ASUS ProArt PA278QV     LG C8 55"     Phanteks Enthoo Evolv X Glass     Logitech G915      Logitech MX Vertical      Steelseries Arctis 7 Wireless 2019      Windows 10 Pro x64

Link to comment
Share on other sites

Link to post
Share on other sites

Who cares. Detect their browser, post a warning, and leave it at that.

Link to comment
Share on other sites

Link to post
Share on other sites

Who cares. Detect their browser, post a warning, and leave it at that.

We care, because they are sort of cheating, without cheating. They are giving themselves an unfair advantage that we feel is not good enough to ban them, but we don't want it in the game

Ryzen 7 5800X     Corsair H115i Platinum     ASUS ROG Crosshair VIII Hero (Wi-Fi)     G.Skill Trident Z 3600CL16 (@3800MHzCL16 and other tweaked timings)     

MSI RTX 3080 Gaming X Trio    Corsair HX850     WD Black SN850 1TB     Samsung 970 EVO Plus 1TB     Samsung 840 EVO 500GB     Acer XB271HU 27" 1440p 165hz G-Sync     ASUS ProArt PA278QV     LG C8 55"     Phanteks Enthoo Evolv X Glass     Logitech G915      Logitech MX Vertical      Steelseries Arctis 7 Wireless 2019      Windows 10 Pro x64

Link to comment
Share on other sites

Link to post
Share on other sites

We care, because they are sort of cheating, without cheating. They are giving themselves an unfair advantage that we feel is not good enough to ban them, but we don't want it in the game

 

Anything can be spoofed so using browser detection is only so reliable.

Link to comment
Share on other sites

Link to post
Share on other sites

 

Anything can be spoofed so using browser detection is only so reliable.

But you have no idea how? I googled for a good while, but couldn't find anything. We are looking into other options too so, hoping to find a solution fast as this has been a quite long battle with blocking methods and users finding new ones :P

Ryzen 7 5800X     Corsair H115i Platinum     ASUS ROG Crosshair VIII Hero (Wi-Fi)     G.Skill Trident Z 3600CL16 (@3800MHzCL16 and other tweaked timings)     

MSI RTX 3080 Gaming X Trio    Corsair HX850     WD Black SN850 1TB     Samsung 970 EVO Plus 1TB     Samsung 840 EVO 500GB     Acer XB271HU 27" 1440p 165hz G-Sync     ASUS ProArt PA278QV     LG C8 55"     Phanteks Enthoo Evolv X Glass     Logitech G915      Logitech MX Vertical      Steelseries Arctis 7 Wireless 2019      Windows 10 Pro x64

Link to comment
Share on other sites

Link to post
Share on other sites

But you have no idea how? I googled for a good while, but couldn't find anything. We are looking into other options too so, hoping to find a solution fast as this has been a quite long battle with blocking methods and users finding new ones :P

 

What is it about the browser that is causing problems? Just detect that behavior and disable the game if detected.

Link to comment
Share on other sites

Link to post
Share on other sites

 

 
 

But you have no idea how? I googled for a good while, but couldn't find anything. We are looking into other options too so, hoping to find a solution fast as this has been a quite long battle with blocking methods and users finding new ones :P

 

They can just download the page and edit the code so nothing in JS will help. The only other option is to have your webserver redirect/block the older browsers but like SSL said, the headers can be spoofed so that won't stop anyone who really wants to get through.

1474412270.2748842

Link to comment
Share on other sites

Link to post
Share on other sites

But, the code is running on every page load, quite early in the page load. You can see the site by stopping the loading right before it is finished, but then on the next page you have to do it again.

 

Anyways, we found out that they can do it in other browsers to, we had the wrong idea on how they were doing it. We have an idea for a solution so this should be solved, hopefully

Ryzen 7 5800X     Corsair H115i Platinum     ASUS ROG Crosshair VIII Hero (Wi-Fi)     G.Skill Trident Z 3600CL16 (@3800MHzCL16 and other tweaked timings)     

MSI RTX 3080 Gaming X Trio    Corsair HX850     WD Black SN850 1TB     Samsung 970 EVO Plus 1TB     Samsung 840 EVO 500GB     Acer XB271HU 27" 1440p 165hz G-Sync     ASUS ProArt PA278QV     LG C8 55"     Phanteks Enthoo Evolv X Glass     Logitech G915      Logitech MX Vertical      Steelseries Arctis 7 Wireless 2019      Windows 10 Pro x64

Link to comment
Share on other sites

Link to post
Share on other sites

But, the code is running on every page load, quite early in the page load. You can see the site by stopping the loading right before it is finished, but then on the next page you have to do it again.

 

Anyways, we found out that they can do it in other browsers to, we had the wrong idea on how they were doing it. We have an idea for a solution so this should be solved, hopefully

 

Great that you found a more general solution to your problem! :)

 

But just a quick side note to all this "use javascript to prevent cheating" stuff:

JS is run locally and can be manipulated by the user in every way possible! You might think that it'll work because the code is executed to fast or maybe because you reload it every X seconds, but this is wrong. There are tools like opera dragonfly and many others that can pause the execution of JS for debugging purposes, after that you can edit the code and just let the JS engine run again. It is also possible to break and run the code "step by step" like you would do it with GDB or other debugging software.

 

In the end, you can always automate that. So keep this in mind: JS is never-ever preventing users from doing unintentional stuff on your site. Always do all the important calculations server-side.

 

(Source: Tried to write a multiplayer tower defense game, made the same mistakes during the first run. :) )

Link to comment
Share on other sites

Link to post
Share on other sites

-snip-

Thanks for the input!

I sort of knew this already, therefor my scepticism and this thread. Good to hear from some one with experience with a similar thing :)

Ryzen 7 5800X     Corsair H115i Platinum     ASUS ROG Crosshair VIII Hero (Wi-Fi)     G.Skill Trident Z 3600CL16 (@3800MHzCL16 and other tweaked timings)     

MSI RTX 3080 Gaming X Trio    Corsair HX850     WD Black SN850 1TB     Samsung 970 EVO Plus 1TB     Samsung 840 EVO 500GB     Acer XB271HU 27" 1440p 165hz G-Sync     ASUS ProArt PA278QV     LG C8 55"     Phanteks Enthoo Evolv X Glass     Logitech G915      Logitech MX Vertical      Steelseries Arctis 7 Wireless 2019      Windows 10 Pro x64

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×