SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

 
 
Themen-Optionen Ansicht
  #1  
Alt 26.02.2016, 15:08:36
TimRear TimRear ist offline
Anfänger
 
Registriert seit: Feb 2016
Alter: 40
Beiträge: 2
Benutzerauthentifizierung

Hallo zusammen,

ich habe ein hoffentlich nicht zu aufwändiges Anliegen bezüglich eines PHP Scripts. Da ich nicht gerade die große Ahnung davon habe, frage ich mal in die Runde der Fachleute und bedanke mich bereits jetzt sehr für Eure/Deine Unterstützung!!!!

Es geht um eine Art Dyndns script - welches auch grundsätzlich funktioniert.
greift man beispielsweise auf "index.php?hostname=dyndns1.domain.tld" zu, wird die IP für den Hostname aktualisiert. Ich benötige jedoch mehrere Hostnames, welche mit unterschiedlichen Benutzernamen/Kennwörtern (oder einfacher ein Zugangstoken) aktualisiert werden können. Wie würdet Ihr das machen?

.htaccess ist für mich keine Lösung, da nicht jeder Benutzer jede Domain aktualisieren dürfen soll, sondern lediglich seine Eigene.

Hier das Script:
PHP-Code:
<?php

include 'mysql_config.php';

$dynDomains = array('dyndns1.domain.tld''dyndns2.domain.tld');

$newIP $_SERVER['REMOTE_ADDR'];
$DoUpdateFile "updatefile/doupdate";

if(!isset(
$_GET['hostname'])){
    die(
'Parameter "hostname" nicht gesetzt - Ihre WAN IP lautet:'.$newIP);
}
// Check if the requested domain is in our list of domains we want to keep updated.
if(! in_array($_GET['hostname'], $dynDomains)){
    die(
'Der angeforderte "hostname" wurde nicht für DynDNS freigegeben.');
}

// Check if IP is really an IP (should always be the case, but just to be safe...)
if($newIP == "" || !preg_match_all("/(\d{1,3}\.){3}\d{1,3}/"$newIP$matches )){
    die();    
}    

// We need to append a dot (.) to the end of the requested domain
$dyndns $_GET['hostname'] . '.';

$query "SELECT id, val FROM dns_recs WHERE host = '$dyndns' AND type = 'A';";

$result mysql_query($query);
$row mysql_fetch_assoc($result);

$rowId $row['id'];
$oldIP $row['val'];

if(
$oldIP == $newIP){
    echo 
"nochg\n".$newIP;
    die();
}

// Update IP
$updateQuery "UPDATE dns_recs SET val = '$newIP', displayVal = '$newIP' WHERE id = $rowId;";

$updated mysql_query($updateQuery ) or die (mysql_error());

$updateDomain $_GET['hostname'] . ";";
# Create do-update file to notice cron job to update the DNS entry
file_put_contents($DoUpdateFile$updateDomainFILE_APPEND);

echo 
"good\n".$newIP;

?>
Vielen Dank für Eure Denkansätze!
Mit Zitat antworten
 

Stichworte
authentifizieren


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:50:07 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt