| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Geiseltaler Mitglied

|
Seite Zulassen nach IP Abfrage |
|
|
Hallo Netzgemeinde,
Ich wünsche euch ein frohes und besinnliches Weihnachtsfest in kreise eurer Familien.
Aber trotz Fest und Feierlichkeiten hab ich wieder ma ein problem und evtl. kann mir hier jemand helfen.
Ich habe einen Streamserver für ein Webradio der mit eine Variable (den Modinamen) ausgibt. Diesen Namen will ich ersetzen mit den ersten 5 Zahlen der IP-Addi des Moderatoren
Nun soll diese Variable mit der Aktuellen IP des Moderatoren verglichen werden und ihm dann der Zutritt zu einer Seite (Wunschbox) erlaubt oder verweigert werden.
Im Klartext heißt das wenn Ich auf Sendung bin (Frechdachs = IP 84.18) dann habe auch nur ich Zutritt zur Wunschbox und alle anderen Moderatoren nicht.
Also Server sagt "Frechdachs" = "84.18" --> aktuelle IP "84.18" --> Zutritt erlaubt!
Server sagt "Frechdachs" = "84.18" --> aktuelle IP "86.33" --> Zutritt verweigert.
Da ich gleichzeitig Admin bin möchte ich aber auch bei allen anderen Moderatoren Zutritt haben für Notfälle. Also die IP 84.18 immer zulassen.
Ich hoffe ich konnte es einigermaßen verständlich erklären.
dazu habe ich folgenden Code probiert, der bei mir funktionioert aber beim aktuellen Moderator trotzdem den "Zutritt verweigert" ausgibt
| PHP-Code: | 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
| <?php
$aim = file_get_contents("http://www.im-geiseltal.de/Musik/player/status/status_einlesen_aim.php"); // Serverstatus in eine Variable ($aim) einlesen
?>
<head>
.....
</head>
<body>
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$zahl = $ip;
$ipeigen = substr($zahl, 0, 5);
$aim = ereg_replace("Frechdachs","84.18",$aim);
$aim = ereg_replace("Silvi","86.33",$aim);
.... Modi 3
.... Modi 4
if($ipeigen == $aim or $ipeigen == "84.18")
{
echo "Zugriff erlaubt!";
}
else
{
echo "Du bist nicht auf Sendung";
}
?>
</BODY>
</HTML> |
Wenn der Zugriff erlaubt wird soll der Inhalt der Wunschbox angezeigt werden, sonst eine andere Webseite.
Wenn jemand einen Lösungscode hätte wäre ich sehr dankbar
LG der Geiseltaler |
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 24 Dez 2009 00:06 |
|
  |
Werner Homepage-Total.de Moderator

|
 |
|
|
Statt:
$aim = ereg_replace("Frechdachs","84.18",$aim);
verwendest du:
$aim = str_replace("Frechdachs","84.18",$aim);
Da du ja keinen regulären Ausdruck ersetzen willst.
| Zitat: | | // Serverstatus in eine Variable ($aim) einlesen |
Welche Struktur hat die Datei "status_einlesen_aim.php"
und was liest file_get_contents in $aim ein?? |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 25 Dez 2009 19:55 |
|
 |
Geiseltaler Mitglied

|
 |
|
|
Hallo Werner,
ich schick dir hier mal die datei status_einlesen_aim.php:
| PHP-Code: | 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| <?
$attr=array(
array('Server Status',0) ,
array('Stream Status',0),
array('Listener Peak',0) ,
array('Average Listen Time',0) ,
array('Stream Title',0) ,
array('Content Type',0) ,
array('Stream_Genre',0) ,
array('Stream_URL',0),
array('ICQ',0) ,
array('AIM',1),
array('IRC',0) ,
array('',0) ,
);
$host = "217.172.179.96";
$port = "8825";
$fp = @fsockopen($host, $port, $errno, $errstr, 01);
if(!$fp)
{
$status = "Offline";
}
else
{
$page='';
$status = "Online";
fputs($fp,"GET /index.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
while(!feof($fp))
{
$page .= fgets($fp, 1000);
}
fclose($fp);
preg_match_all('|<table[^>]*align=center><tr>(.*)</tr></table>|s',$page,$page);
preg_match_all('|<tr><td[^>]*>(.*)</td><td[^>]*>(.*)</td></tr>|Us',$page[0][0],$page);
}
?>
<?php
if($status=='Online')
{
foreach($attr as $k => $v)
{
if($v[1])
{
switch($k)
{
default:
if(!$v[1])continue;
echo ''.$page[2][$k].'';
}
}
}
}
else
{
?>
Server ist Offline
<?
}
?> |
Diese Datei gibt mir nur den Namen des Moderatoren aus der vorher im Sendeprogramm für die Variable AIM festgelegt wurde.
Dein Vorschlag:
| Zitat: | Statt:
$aim = ereg_replace("Frechdachs","84.18",$aim);
verwendest du:
$aim = str_replace("Frechdachs","84.18",$aim);
Da du ja keinen regulären Ausdruck ersetzen willst. |
werde ich schon mal testen.
LG der Geiseltaler |
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 25 Dez 2009 23:38 |
|
 |
Geiseltaler Mitglied

|
 |
|
|
Hallo Werner,
ich hatte noch einen Denkfehler drin.
Habe jetzt noch mit den folgenden Zeilen die HTML-Tags, Leerzeichen und Zeilenumbrüche entfernt aus der auszulesenden Datei. danach hats funktioniert.
| PHP-Code: | 1 2 3
| $aim = strip_tags($aim);
$aim = ereg_replace(" ","",$aim);
$aim = ereg_replace("\n","",$aim); |
danach sieht der Code nun so aus:
| PHP-Code: | 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
| <?php
$aim = file_get_contents("http://www.im-geiseltal.de/Musik/player/status/status_einlesen_aim.php"); // Datei in eine Variable ($text) einlesen
$ip = $_SERVER['REMOTE_ADDR'];
$zahl = $ip;
$ipeigen = substr($zahl, 0, 5);
$aim = strip_tags($aim);
$aim = ereg_replace(" ","",$aim);
$aim = ereg_replace("\n","",$aim);
$aim = str_replace("Frechdachs","84.18",$aim);
$aim = str_replace("Silvi","86.33",$aim);
Modi 3....
Modi 4....
usw .....
if($ipeigen == $aim or $ipeigen == "84.18")
{
echo "";
}
else
{
echo "<meta http-equiv=\"refresh\" content=\"2; URL=http://www.FEHLERMELDUNG.PHP\">";
}
|
Danke dir trotzdem für deine Hilfe
Grüße und einen guten Rutsch ins Jahr 2010
Der Geiseltaler
PS ironisch: Von Vorteil ist es wenn man Quelltext lesen kann (ich kann es jetzt) |
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 26 Dez 2009 01:12 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Darauf wollte ich hinaus, als ich fragte:
und was liest file_get_contents in $aim ein?
Du hattest den Weihnachtsmann mit dem Osterhasen verglichen!
Schöne Feiertage noch und einen guten Rutsch! |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 26 Dez 2009 01:49 |
|
 |
|