Avatar billede zenheart Nybegynder
10. november 2004 - 00:01 Der er 18 kommentarer

Blokering af alle browser typer - undtagen MS Explorer v5.0 og op

Hej..

Har brug for et script, der blokerer alle andre browsere end netop MS Internet Explorer fra v5.0 og opad.

Har søgt på nettet idet jeg håbede ikke, at være den første med det lille problem, men kunne kun finde få scripts og dem jeg fandt blokerede MSIE..
(http://www.devin.com/ieblock_howto.shtml)
Det er sikkert ganske få ting som skal rettes i scriptet (php eller java scriptet..), men jeg ved ikke hvad/hvilket/hvordan..?
Håber nogen kan hjælpe med at omformulerer scriptet på siden eller som har et andet script jeg kan bruge i stedet..

På forhånd tak..
Avatar billede olebole Juniormester
10. november 2004 - 00:05 #1
<ole>

Hvis du bare lærer at skrive HTML/CSS, er der ingen grund til at udelukke nogen browsere ... det virker knap så ynkeligt på brugerne  :)

/mvh
</bole>
Avatar billede nikolajdu Nybegynder
10. november 2004 - 00:06 #2
Hvis din indgangsvinkel kun er at tillade det største sikkerhedshul så skal du måske ændre strategi.

F.eks Opera står som standard til at kalde sig "Internet Explorer"

så php strategien her vil aldrig virke  :eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

og ej heller javascriptet :

if (navigator.appName == "Microsoft Internet Explorer") {


/Nikolaj
Avatar billede stalle Nybegynder
10. november 2004 - 06:27 #3
Jeg vil give OleBole ret.

Det er, som jeg ser det, lidt en hovsa løsning kun og lave sin side så den kan vises med IE.
Så hellere gøre noget ud af det og lave siden så alle browsere viser siden korrekt.
Og det i sig selv skulle egentlig ikke være så besværligt.
w3c.org har sågar en validator til at hjælpe med at finde evt. fejl.

Er det for stor en opgave, skal man måske overveje at gå i krig med noget andet.

Ikke nogen personlig kritik, mere et udtryk for min generalle holdning.

/stalle
Avatar billede Slettet bruger
10. november 2004 - 07:12 #4
Hvis det endeligt er at der rent faktisk ER en grund til at du vil blokere alt andet end IE (f.eks. en WYIWYG editor i et CMS) jamen så må du sige til :)

Men en mere "blød" apporach kunne måske være bare at skrive et eller andet sted at visse features kun er tilgængelige i IE:)
Avatar billede zenheart Nybegynder
10. november 2004 - 07:23 #5
Det er ikke pga designet af siden.
Siden er opbygget i php og fungerer fint i alle typer browserer ud fra en designmæssig hensyntagen.
Men igen vil jeg bare gerne have at kun IE/Firefox om nådvendigt kan åbne siden.
Firefox idet den opfører sig stort set som IE mht javascripts, hvorimod Opera ikke tager hensyn til alle scripts på samme vis. Derfor vil jeg bare have disse brugere ser en side med et notits(htm) om at siden bør/skal ses med EI/Firefox.

P.s. Det er bare en privat/hjemmefusker-side - derfor er ikke store moralske problemer mht. at udelukke nogle browsere.
Avatar billede sukos Juniormester
10. november 2004 - 07:32 #6
Noget i denne stil:

<?php
$text = "IE +5 b&oslash;r bruges!";

if (ereg( 'MSIE ([0-9].[0-9]{1,2})', $_SERVER["HTTP_USER_AGENT"],$log_version)) {
    if($log_version[1] >=5) {
    $text = "Ok browser! :O)";
    }
}

echo $text;
?>
Avatar billede sukos Juniormester
10. november 2004 - 07:33 #7
Taget fra et script fundet på sourceforge.net :O)

// http://sourceforge.net
//
// $Id: tim20000821.php3,v 1.1 2000/08/21 01:44:44 cvs Exp $
Avatar billede zenheart Nybegynder
10. november 2004 - 08:37 #8
Ja, for så vidt er det et godt script, men kan du lave det om sådan at det henviser til en htm side istedet for ""$text = "IE +5 b&oslash;r bruges!";"" ?
Avatar billede sukos Juniormester
10. november 2004 - 08:47 #9
? henviser?
Hvordan mener du?
Kan du vel også selv?

henviser = include()

<?php
$fil = "ej_ie.php";

if (ereg( 'MSIE ([0-9].[0-9]{1,2})', $_SERVER["HTTP_USER_AGENT"],$log_version)) {
    if($log_version[1] >=5) {
    $fil = "ie_5.php";
    }
}

include($fil);
?>
Avatar billede zenheart Nybegynder
10. november 2004 - 09:05 #10
Nej, jeg er ren amatør til php desværre..
Kan bare godt lide at fuske ;)
Anyways:
Det scriptet skal gøre er altså at tjekke for om browser er IE og så version.. OG det fungere fint/rigtig godt nok kan jeg se..
Hvis det så er i orden skal den intet! videre gøre.
Men...
Else/hvis ikke - så skal den springe videre til en html side ala'
Header("Location: http://www.domain.com/reject.html");
Avatar billede zenheart Nybegynder
10. november 2004 - 09:06 #11
Håber du kan følge mig ellers må du lige sige det...
Avatar billede zenheart Nybegynder
10. november 2004 - 09:09 #12
Se f.eks. scriptet fra: http://www.devin.com/ieblock_howto.shtml

<?php
  if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||
      eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {
    Header("Location: http://www.domain.com/ie_reject.html");
    exit;
  }
?>

Det tjekker, hvis ie, så springer det.
Mit:
Det tjekker, hvis ie, går intet, hvis ikke, spring.
Avatar billede sukos Juniormester
10. november 2004 - 09:15 #13
jeg ville nok gøre så'n:

<?php

function browsercheck() {

if (ereg( 'MSIE ([0-9].[0-9]{1,2})', $_SERVER["HTTP_USER_AGENT"],$log_version)) {
    if($log_version[1] >=5) {
    return true;
    }
}
return false;

}

if(false == browsercheck()) {
header("Location:ie_reject.html");
exit;
}

?>
Avatar billede zenheart Nybegynder
10. november 2004 - 10:09 #14
Tak for scriptet, var lige ved at få det til at virke med en mindre modifikation, men dit script er nu 5x bedre ;)
<?php
  if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||
      eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {}
  else { Header("Location: http://www.tvtime.1go.dk/reject/reject.html");
    exit;
  }
?>

Bare skriv et svar, hvis du vil have de 60 point.

Og igen.. Tusind tak for svaret..
Avatar billede sukos Juniormester
10. november 2004 - 10:47 #15
Svar :O)
Avatar billede nikolajdu Nybegynder
10. november 2004 - 11:21 #16
Men Opera vil stadigt ryge lige igennem...
Avatar billede olebole Juniormester
10. november 2004 - 12:23 #17
Nej, Nikolaj -  HTTP-feltet 'User_Agent' indeholder aldrig strengen 'Internet Explorer' i Opera. 'navigator.appName' returnerer derimod, hvad somhelst i den bruser  ;o)
Avatar billede olebole Juniormester
10. november 2004 - 12:26 #18
... man burde dog ikke have synderlige problemer med JavaScript i Opera i forhold til IE/FF. Der er mindre forskelle - men man kan sagtens komme rundt om dem  :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester