PHP Grafiken mit dynamischem Text

Mit der Hilfe  vom PHP-Modul „GD“ (unter Debian / Ubuntu z.B. mit „apt-get install php5-gd“ zu installieren), ist es möglich dynamischen Text auf Grafiken anzuzeigen. Hierbei sind der Kreativität keine Grenzen gesetzt. Es ist z.B. möglich, dass der Text sich bei jedem Laden der Webseite ändert, oder aber dynamische Informationen wie die IP-Adresse auf der Grafik darstellt. Hier mal ein Beispiel mit eurer IP-Adresse:

Grafik nicht gefunden :-(

Um das Ganze zu nutzen, muss wie schon am Anfang gesagt das Modul „GD“ für PHP installiert und auch aktiviert werden (Neustart des Webservers nicht vergessen). Weiterlesen

Ein eigener dynamischer DNS Dienst

Im heutigen Post möchte ich mich dem Thema widmen, wie man einen eigenen dynamsichen DNS-Dienst einrichtet. Was wird benötigt, um einen solchen Dienst aufsetzen zu können? Nun es wird ein Router benötigt, der eigene dynamische DNS Dienste unterstützt – wie z.B. die AVM Fritz!Box. Dazu wird noch ein Webspace mit PHP und MySQL sowie eine eigene Domain benötigt. Um sich dem Ganzen bewusst zu werden, was das hier eigentlich werden soll: Am Ende – nach der finalen Implementierung – soll eine Subdomain aufgerufen werden, welche wiederum eine Weiterleitung zu der eigenen IP-Adresse zu Hause liefert. Legen wir als Erstes die Datenbanken an. Für dies könnte folgendes Script verwendet werden, das über  phpmyadmin importiert werden kann.

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

CREATE TABLE IF NOT EXISTS `authentication` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user` varchar(64) NOT NULL,
  `password` varchar(64) NOT NULL,
  `is_active` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user` (`user`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

CREATE TABLE IF NOT EXISTS `dyndns` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user` varchar(64) NOT NULL,
  `password` varchar(64) NOT NULL,
  `ip_addr` varchar(64) NOT NULL,
  `remote_addr` varchar(64) NOT NULL,
  `timestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_ip` (`user`,`ip_addr`,`remote_addr`),
  UNIQUE KEY `only_user` (`user`),
  KEY `user_key` (`user`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Weiterlesen

Einen PHP-SOAP-Webservice erstellen und verwenden

Zum Erstellen eines SOAP-Webservices unter PHP gibt es einige Möglichkeiten. Eine davon wäre sicherlich bei Null zu beginnen und alles selbstständig zu programmieren. Eine andere Möglichkeit wiederrum ist die Verwendung von NuSoap; dies werde ich auch hier in diesem Beitrag tun. Was benötigt man zunächst einmal für einen NuSoap-PHP-Webservice? Nun zunächst einmal benötigt man einen Webspace auf dem PHP läuft und auch eine Datenbank wie z.B. MySQL ist an dieser Stelle hilfreich. Verwendet werden kann der Webservice anschließend in jeder SOAP-kompatiblen Programmiersprache. Ich werde hierfür C# verwenden.

Für den ersten Schritt sollten wir uns die Library für NuSoap herunterladen. Dies ist unter folgender URL möglich: http://sourceforge.net/projects/nusoap/ . Hier wird ausschließlich der „lib“-Ordner für die Referenzierung benötigt. Diesen packen wir auch direkt auf unseren Webserver, auf dem später der Webservice laufen soll. Weiterlesen

Ein Webservice aufbauen und in einer Anwendung nutzen (Grundlegendes)

Webservices werden in der heutigen Zeit immer wichtiger und diese bieten auch für viele Applikation einige nette Dienste, wie z.B. die Validierung einer Seriennummer, abfragen von Updates und mehr. Aber was benötigt man hierfür? Ich verwende für diesen Fall in der Regel einen C# .NET SOAP-Service, der einen IIS sprich einen Windows-Server benötigt. Eine ebenfalls – wie ich finde – sehr gute Alternative ist ein Webservice in PHP mit z.B. NuSOAP, der ohne Windows-Server Systeme auskommt und deswegen auch in der Regel relativ beliebt ist. Und genau mit diesen beiden werden wir uns befassen. Zunächst werde ich im nächsten Teil den IIS-Webservice erläutern, wie dieser zu erstellen ist usw. und im folgenden Teil den PHP-Webservice. Im letzten anschließenden Abschlussteil werde ich einen der beiden referenzieren und nutzen (da bei beiden Services die Nutzung gleich ist und mir derzeit nur ein Linux-Server zur Verfügung steht, wird dies auf NuSOAP mit PHP hinauslaufen).

Aber was sind die Vor- und Nachteile eines solchen Services? Nun die Vorteile sind ganz klar, dass die Anwendung nur kontrollierte Dinge tut und auch die Validierung von Seriennummern etc. sicher abläuft. Natürlich sollte man die Verbindung zum Webservice auch noch per SSL absichern, aber dies ist ein eigenes Thema für sich. Es könnte aber gut sein, dass dies ebenfalls bald kommt. Einer der Nachteile ist mit Sicherheit, dass die Verbindung zum Service notwendig ist und somit eine Lokale- oder Ethernetschnittstelle vorhanden sein muss. Natürlich kann man dies aber auch umgehen und den Service mehr optional als erforderlich gestalten.