Thread [PHP][JS] IPv4 und IPv6 auf einer seite anzeigen lassen (0 answers)
Opened by SCORRPiO at 2015-04-16 08:36

SCORRPiO
 2015-04-16 08:36
#180687 #180687
User since
2014-02-18
13 Artikel
BenutzerIn

user image
Hallo zusammen,
ich schlage mich schon seit Wochen damit herum auf einer Internet Seite sie IPv4 und IPv6 anzuzeigen.

Mittlerweile bin ich schon so weit gekommen, das ich unter Apache es eingestellt habe das jeweils 1 php Skript mit IPv4 und IPv6 abgerufen wird und die Werte an die Hauptseite übergeben. Soweit auch kein Problem. Kommt einer per IPv4 only auf die Seite, wird IPv4 angezeigt, kommt einer per IPv6 auf die Seite und besitzt auch eine IPv4 so werden beide angezeigt.

Nun aber das Problem:
Kommt einer per IPv6 auf die Seite, hat aber keine IPv4 (wieso auch immer), dann bekomme ich keine IP als Ausgabe (aktuell die Info das kein JS aktive ist) Aktiviere ich v4 wieder ist alles OK.

Gleichzeitig soll geprüft werden ob die fehlende Infos nicht durch einen Addon geblockt wird (wie z.B. noScript oder Deaktivierung von JS im Browser)


Sieht jemand wo ein Fehler ist oder hat jemand einen besseren Vorschlag wie ich es realisieren kann?


Aufbau soll wie folgt sein:
IPv4 only = IPv4
IPv6 only = IPv6
IPv4 and IPv6 = beide anzeigen
wird keine angezeit = Prüfen ob per Skript geblockt wird.


hier einmal die Codeschnipsel die ich erstellt habe

startseite.html
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="de_DE" lang="de_DE" xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
$regs="";
$ip = $_SERVER[REMOTE_ADDR];
?>

<script src="http://myip-ipv6.domain.de" type="text/javascript"></script>
<script src="http://myip-ipv4.domain.de" type="text/javascript"></script>
<script language="javascript">
function start(){
ip4 = ipv4();
ip6 = ipv6();
}
</script>

</head>
<body onLoad="start();">

if (ereg("^(222.20.(1[6-9][0-9])|172.16.0).[0-9]{1,3}$",$ip, )) {
?>
<div id="v4"></div>
<br>
<?php
}
elseif (ereg("^(20D2:408((:[a-f0-9]{0,4}){1,6}))$",$ip, $regs)) {

?>
v6 <div id="v6"><b>Zur richtigen Anzeige dieser Seite wird Javascript ben&ouml;tigt!</b></div>
v4 <div id="v4"></div>
<?php
}
?>

v4/index.php
Code: (dl )
1
2
3
4
5
6
7
<?php
$ip = "Ihre IPv4-Adresse lautet: $_SERVER[REMOTE_ADDR]";
echo "function ipv4()
{
document.getElementById('v4').innerHTML = '$ip';
}";
?>


v6/index.php
Code: (dl )
1
2
3
4
5
6
7
<?php
$ip = "Ihre IPv6-Adresse lautet: $_SERVER[REMOTE_ADDR]";
echo "function ipv6()
{
document.getElementById('v6').innerHTML = '$ip';
}";
?>


Danke schonmal

Gruß
SCORRPiO
Last edited: 2015-04-16 09:47:51 +0200 (CEST)
Linux User || Perl 5.14

View full thread [PHP][JS] IPv4 und IPv6 auf einer seite anzeigen lassen