CIX Blog / Kategorie / PHP Programmierung
PHP Programmierung
Standard-Servereinstellungen haben leider auch den Nachteil, dass diverse Angaben über die PHP- oder Apache-Version mit übertragen werden. Hacker oder Spider können diese Schwachstelle ausnutzen. Für den Browser sind diese Angaben jedoch weniger Sinnvoll. Wie kann man nun diese Informationen ausblenden? Wer einen Server sein Eigen nennt, hier eine Lösung:
Da ich hin wieder gefragt werde wie man eine Umkreissuche macht, hier mal ein Code-Beispiel mit Link. Die Fragen nach Umkreissuchen kann man fast in jedem Forum lesen. Ich möchte ein Beispiel zeigen, wie man mit 1-2 Querys zur Datenbank eine Umkreissuche umsetzen könnte.
Hin und wieder muss man bestimmte Daten aus einer Tabelle in eine andere Tabelle kopieren, oder Updaten. Der umständliche Weg führt meist über eine PHP-Lösung mittels Schleife. Bisher war ich auch zu faul, um nach einer SQL-Lösung zu suchen und auch zu benutzen. Hier einige Möglichkeiten, wie man nur mit SQL bestimmte Daten von Tabelle zu Tabelle kopiert bzw. updated.
Es gibt Captcha die aus reinen HTML-Tags wie zum Beispiel <SPAN> bestehen und nur mittels CSS werden Zahlen dargestellt, welche man dann in ein Eingabefeld eintragen muss. Wer auch immer sich so etwas ausgedacht hat ist vermutlich der Meinung, dass Spamer dadurch die Formulare nicht automatisch „zumüllen” können. Falsch gedacht, und heute wird mal eine Lösung gezeigt wie man ein solches Zahlenfeld Captcha mittels PHP auslesen kann. In Görlitz gibt es gleich mehrere Websites die ein solches Captcha benutzen - liegt vermutlich an der Agentur, welche die Websites erstellt hat. Aber genug, hier nun der Lösungsweg zum Auslesen vom Zahlenfeld Captcha:
Auf der Suche nach dem Fernsehprogramm im XML-Format habe ich nur 2 Anbieter gefunden - TVMovie und TV Spielfilm. Für nicht kommerzielle Zwecke kann man hier aktuelle Sendungen und Programme am Abend per XML abrufen. Hier mal alle bekannten XML-Links mit Stand Juli 2011.
Hin und wieder möchte man für Strings einen eindeutigen Schlüssel (ähnliche einer ID) nutzen. Ähnlich wie Short-URL Diensten braucht man eine Forme zur Komprimierung. Die einfachste und effektivste Methode wäre jedem String eine eindeutige ID zu verpassen und daraus einen Schlüssel zu erstellen. Nachfolgend eine Methode für PHP-Programmierung mit der sich einige Milliarden Datensätze erzeugen lassen.
Eine Knobelaufgabe hat mich fast 30min beschäftigt - mittels MySQL Update soll eine Spalte neu nummeriert werden, und dabei soll der älteste Eintrag mit 1 anfangen. Der komplizierte Weg wäre eine while Schleife die etliche Querys mit Update macht. Leider ist das aus Performance-Sicht nicht die beste Lösung. Eine Lösung mit nur einen Query wäre dagegen optimal. Nach etlichen Versuchen hab ich dann eine Lösung gefunden.
Dieser Beitrag ist für alle gedacht, die auch über einen eigenen Server verfügen. Manchmal ist es hilfreich sich einen Übersicht über alle FTP-User zu verschaffen. Es kann allerdings auch vorkommen, dass man selber oder ein Kunde die Passwörter vergessen hat. Im Plesk werden Passwörter nicht in Klartext angezeigt, und somit muss eine Lösung gefunden werden. Hier eine Lösung wie man mittels weniger Zeilen alle FTP-Zugänge und E-Mail Passwörter über die Server-Konsole auslesen kann.
Das CMS Typo3 kann zwar allerhand, aber dafür haben auch die Extension (Erweiterungen) so ihre Macken. Darunter zählt auch das News-System TT_NEWS. So gibt es fehlerhafte Darstellungen beim AMENU (Anzeige der News im Monat). Hier werden zum Beispiel zukünftige News gar nicht erfasst und Dargestellt. Schreibt man im Monat Mai bereits News-Termine für Juni oder Juli werden diese erst dargestellt, wenn der jeweilige Monat erreicht ist. Natürlich ist das bei einen News-System sinnvoll, aber viele nutzen das TT_News auch für andere Möglichkeiten. Nun wollte ich auch zukünftigen News bei AMENU darstellen und bin erst nach Stunden in der Datei class.tx_ttnews.php fündig geworden.
Hin und wieder ist es nötig, dass man mit PHP auf htaccess geschützte Seiten zugreifen muss. Über einen Web-Browser muss man bei HTTP Authentication seine Benutzername und Passwort per Hand eintragen. Für automatische Scripte oder Anwendungen geht das natürlich nicht. Zwar gibt es Unmengen an Lösungen im Netz, aber 70% davon sind falsch oder haben Syntaxfehler - keine Ahnung woher das kommt. Hier zwei Lösungsvorschläge mit fopen(), stream_context_create() und CURL.