• April 17, 2024, 07:39:39 PM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

This Forum Beta is ONLY for registered owners of D-Link products in the USA for which we have created boards at this time.

Author Topic: [Solved] DCS-5020L - Internet Explorer barrier / browser restrictions  (Read 8206 times)

Quietus

  • Level 1 Member
  • *
  • Posts: 3

Kind of solved this on my own by digging deeper into the page source. Set the user-agent to something that passes the test, it tricks the code into "thinking" you are on a different browser and lets you through (e.g. Firefox / Internet Explorer).

Some features will not be accessible/configurable, but most of it is...

Workaround - Chrome on Windows

There are two ways of doing this within Chrome on Windows:

Extension
Probably the easiest way, but it requires installing an extension like User-Agent Switcher for Chrome. Pick whichever you prefer though, various similar extensions can be found on the Chrome Web Store.

Manually
Alternatively you can manually change the user-agent by doing the following:

Quote
  • Menu > More tools > Developer Tools (CTRL + SHIFT + I)
  • Click the three-dotted overflow icon next to "Console"
  • Choose "Network Conditions"
  • Uncheck "Select Automatically" next to "User agent"
  • Select "Firefox ## - Windows" from the drop-down list
  • Reload the page, you should now have access to the webui




Workaround - Chrome on Android [ROOT REQUIRED!]

Change the user-agent within Chrome on Android by doing the following:

Quote
  • Make sure you are ROOTED
  • Install User Agent Switcher via the Play Store
  • Launch and grant ROOT access
  • Click the user-agent you want to use
  • Restart Chrome by force-stopping it

Keep in mind you'll have to restart Chrome (force-stop) each time you change the user-agent in order for the changes to take effect.




ORIGINAL POST

This is probably a rhetoric question, but is there any way of removing the pointless Internet Explorer barrier when accessing a DCS-5020L?

The only reason this needs to be displayed is because the live display needs certain plugins, there is no logical reason to enables this system-wide and block off every other part of the WebUI. I am forced to use a desktop machine running Windows with Internet Explorer (Edge on Windows 10 isn't supported either!).

An unfortunate decision on D-Link's part, the DCS-932L didn't have this restriction (it simply made live viewing (/setting areas) impossible, but still had access to all other settings). Which also brings up another point: Why use browser plug-ins anyway? With today's browser capabilities they shouldn't be needed...

No need to have our hands held, make it optional - don't disable everything else!

EDIT
Just to be clear, the interface is blocked off on Chrome (Windows & Android) and Edge. Firefox, Opera and Internet Explorer all work. But it shouldn't be the case that two major browsers are blocked off...

EDIT
Here's the code that does the browser check. Anyone know of a way to modify that file (save changes, the code I can manage)?

Code: (http://IPADDRESS/function.js?cidx=1.132015-11-18) [Select]
function CheckBrower()
{
  ba = navigator.userAgent;
  bn = navigator.appName;
  bv = navigator.appVersion;
  bv2 = bv.substring(0,3);
  if (ba.indexOf("Opera",0) != -1)
  {
     if (bv2 <= "9.0")
        return("Opera<9");
     else
        return("Opera");
  }
  if (ba.indexOf("OPR/",0) != -1)
        return("Opera");
  if (ba.indexOf("Firefox",0) != -1)
     return("Firefox");
  if (ba.indexOf("Chrome",0) != -1)
     return("Chrome");
  if (ba.indexOf("Safari",0) != -1)
     return("Safari");
  if (ba.indexOf("KKMAN",0) != -1)
     return("KKMAN");
  if (bn.indexOf("Microsoft Internet Explorer",0) != -1)
  {
     bc1 = ba.indexOf("MSIE ",0);
     bc2 = ba.substring(bc1+5);
     bc3 = bc2.indexOf(";",0);
     bc4 = bc2.substring(0,bc3);
     bc5 = parseInt(bc4,10);
     if (bc5 < 10) {
        if ((bv.indexOf("Trident/6",0) != -1) && (bv.indexOf("Windows NT 6",0) != -1))
            return("IE1x");
        else
            return("IE");
     } else
        return("IE1x");
  } else {
     if ((bv.indexOf("Trident/7",0) != -1) && (bv.indexOf("Windows NT",0) != -1)) {
         ver = parseInt(bv.substring(bv.indexOf("Windows NT",0)+11), 10);
         if (ver >= 6)
            return("IE1x");
     }
  }
  if (bn.indexOf("Netscape",0) != -1)
     return("Netscape");
  return("Unknow");
}

Screenshots





« Last Edit: April 03, 2016, 12:29:27 AM by Quietus »
Logged

RYAT3

  • Level 10 Member
  • *****
  • Posts: 2254
Re: DCS-5020L - Internet Explorer barrier, any way to circumvent?
« Reply #1 on: March 26, 2016, 07:55:36 AM »


Good point.  I haven't upgraded my cam's F/Ws so not getting this anywhere yet.

Can you try going to /setup.htm or some other valid path as a way to get around?
Logged

FurryNutz

  • Poweruser
  •   ▲
    ▲ ▲
  • *****
  • Posts: 49923
  • D-Link Global Forum Moderator
    • Router Troubleshooting
Re: DCS-5020L - Internet Explorer barrier, any way to circumvent?
« Reply #2 on: March 30, 2016, 06:59:36 AM »

Chrome is blocking plug-ins and certain items that effect using it on D-Link products now. Thus IE11, FF or Safari is recommended browsers now. Edge is still new and not used much. I presume as time goes on Edge may be used more. Check to see if Edge can use compatibility mode like IE11 does for older D-Link products where FW and some HTML coding may be out of date and thus incompatible with newer generation web browsers.
Logged
Cable: 1Gb/50Mb>NetGear CM1200>DIR-882>HP 24pt Gb Switch. COVR-1202/2202/3902,DIR-2660/80,3xDGL-4500s,DIR-LX1870,857,835,827,815,890L,880L,868L,836L,810L,685,657,3x655s,645,628,601,DNR-202L,DNS-345,DCS-933L,936L,960L and 8000LH.

Quietus

  • Level 1 Member
  • *
  • Posts: 3
Re: DCS-5020L - Internet Explorer barrier, any way to circumvent?
« Reply #3 on: April 02, 2016, 09:56:52 PM »


Good point.  I haven't upgraded my cam's F/Ws so not getting this anywhere yet.

Can you try going to /setup.htm or some other valid path as a way to get around?

Nope, which makes this so frustrating. Someone coded in a check and it gets enforced system-wide:

Code: (http://IPADDRESS/function.js?cidx=1.132015-11-18) [Select]
function CheckBrower()
{
  ba = navigator.userAgent;
  bn = navigator.appName;
  bv = navigator.appVersion;
  bv2 = bv.substring(0,3);
  if (ba.indexOf("Opera",0) != -1)
  {
     if (bv2 <= "9.0")
        return("Opera<9");
     else
        return("Opera");
  }
  if (ba.indexOf("OPR/",0) != -1)
        return("Opera");
  if (ba.indexOf("Firefox",0) != -1)
     return("Firefox");
  if (ba.indexOf("Chrome",0) != -1)
     return("Chrome");
  if (ba.indexOf("Safari",0) != -1)
     return("Safari");
  if (ba.indexOf("KKMAN",0) != -1)
     return("KKMAN");
  if (bn.indexOf("Microsoft Internet Explorer",0) != -1)
  {
     bc1 = ba.indexOf("MSIE ",0);
     bc2 = ba.substring(bc1+5);
     bc3 = bc2.indexOf(";",0);
     bc4 = bc2.substring(0,bc3);
     bc5 = parseInt(bc4,10);
     if (bc5 < 10) {
        if ((bv.indexOf("Trident/6",0) != -1) && (bv.indexOf("Windows NT 6",0) != -1))
            return("IE1x");
        else
            return("IE");
     } else
        return("IE1x");
  } else {
     if ((bv.indexOf("Trident/7",0) != -1) && (bv.indexOf("Windows NT",0) != -1)) {
         ver = parseInt(bv.substring(bv.indexOf("Windows NT",0)+11), 10);
         if (ver >= 6)
            return("IE1x");
     }
  }
  if (bn.indexOf("Netscape",0) != -1)
     return("Netscape");
  return("Unknow");
}



Chrome is blocking plug-ins and certain items that effect using it on D-Link products now. Thus IE11, FF or Safari is recommended browsers now. Edge is still new and not used much. I presume as time goes on Edge may be used more. Check to see if Edge can use compatibility mode like IE11 does for older D-Link products where FW and some HTML coding may be out of date and thus incompatible with newer generation web browsers.

Unfortunately Edge doesn't have a compatibility mode. This isn't Chrome at fault either, it's a check put in place by D-Link that isn't needed...



Here's an idea in case anyone at D-link reads this:

Display the warning message, but add a checkbox with something like this next to it: "Continue anyway. Accept that some functionality may be lost by doing so". Then add a submit button and save this via cookies...
« Last Edit: April 02, 2016, 09:58:45 PM by Quietus »
Logged

RYAT3

  • Level 10 Member
  • *****
  • Posts: 2254
Re: DCS-5020L - Internet Explorer barrier, any way to circumvent?
« Reply #4 on: April 02, 2016, 10:28:00 PM »


Which is why I upgrade nothing...
 ::)
Logged

Quietus

  • Level 1 Member
  • *
  • Posts: 3
Re: DCS-5020L - Internet Explorer barrier, any way to circumvent?
« Reply #5 on: April 02, 2016, 10:36:16 PM »


Which is why I upgrade nothing...
 ::)

Workaround added to the original post. This is easy on desktop, not entirely so on mobile.

But it really does demonstrate how silly that check is. EVERYTHING except viewing the camera image on the first page works...
Logged