Nov 27
Im Sprachumfang von PHP gibt es die Funktion long2ip schon lange. Sie konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält (“Dotted-Format”). Z.B.
1440097712 -> 85.214.37.176 // www.k-oo.de
In Java habe ich sie gestern schmerzlich vermisst. Zum Glück gab es in der PHP Doku auch eine reine PHP Version des Konvertierungsalgorithmus (von Gabriel Malca). Die Übersetzung war dann einfach:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| public static String long2Ip(long longValue) {
StringBuffer ip = new StringBuffer();
if (longValue<0) {
longValue=(long)(longValue+Math.pow(2, 32));
}
for (int i=3;i>=0;i--) {
ip.append((int)(longValue / Math.pow(256,i)));
longValue -= (int)(longValue / Math.pow(256,i))*Math.pow(256,i);
if (i>0) ip.append(".");
}
return ip.toString();
} |
Diesen kleinen Code Schnipsel kann wie immer jeder ohne Gewähr nutzen.
Im Sprachumfang von PHP gibt es die Funktion long2ip schon lange. Sie konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält (“Dotted-Format”). Z.B. 1440097712 -> 85.214.37.176 // www.k-oo.de...
geschrieben von gklinkmann
\\ tags: Java, net, php
Jul 19
PHP ist als Web Scriptsprache sehr beliebt, hat aber einen entscheidenden Nachteil. Es gibt keine Standards. Mit PEAR steht zwar ein Repository zur Verfügung, dass aber unter den Entwicklern, aufgrund des durch die PEAR Programmier – Richtlinien etwas aufgeblähten Sourcen, nicht ganz unumstritten ist.
Die im PHP Umfeld sehr engagierte Firma Zend, möchte mit ihrem Framework einen De-facto-Standard schaffen. Mit dem jetzt fertig gestellten Release möchte Zend Lösungen für immer wieder kehrende Aufgaben (z.B. die Abstraktion von Datenbankzugriffen) liefern. Folgende Module sind im Zend Framework enthalten:
- Zend
- Zend_Acl
- Zend_Auth
- Zend_Cache
- Zend_Config
- Zend_Console_Getopt
- Zend_Controller
- Zend_Date
- Zend_Db
- Zend_Debug
- Zend_Feed
- Zend_Filter
- Zend_Gdata
- Zend_Http
- Zend_Json
- Zend_Loader
- Zend_Locale
- Zend_Log
- Zend_Mail
- Zend_Measure
- Zend_Memory
- Zend_Mime
- Zend_Pdf
- Zend_Registry
- Zend_Request
- Zend_Rest
- Zend_Search
- Zend_Search_Lucene
- Zend_Server
- Zend_Service
- Zend_Session
- Zend_Translate
- Zend_Uri
- Zend_Validate
- Zend_Version
- Zend_View
- Zend_XmlRpc
Ich persöhnlich habe das Framework in seinen Vorversionen für die Integration der Java basierten Search Engine Lucene (über das Modul Zend_Search_Lucene) eingesetzt. Damit konnte man hervorragend auf dem mittels Java erstellten Lucene Index suchen und so für viele statische Seiten eine sehr komfortable Suche auch unter PHP (ohne htdig) anbieten.
Weiter sind die Module Zend_Db, Zend_View und Zend_Controller sehr interessant, die das in vielen PHP Webprojekten noch etwas sträflich behandelte Modell – View – Controller Entwurfsmuster (MVC) unterstützen.
PHP ist als Web Scriptsprache sehr beliebt, hat aber einen entscheidenden Nachteil. Es gibt keine Standards. Mit PEAR steht zwar ein Repository zur Verfügung, dass aber unter den Entwicklern, aufgrund...
geschrieben von gklinkmann
\\ tags: frameworks, php
Jun 20
Unter Entwicklern herrschen unterschiedliche Meinungen darüber, welche Programmierplattform denn die bessere sei. Bezogen auf Webanwendungen gelten Perl und PHP als kompakt, aber nicht sehr sicher. Als Gegensatz dazu gilt Java als sicherer, aber auch komplexer.
Um zu wissenschaftlich fundierten Aussagen zu kommen, haben der Linux Business Campus Nürnberg und die Freie Universität Berlin einen Programmierwettbewerb veranstaltet, in dem eine Webanwendung aufgrund von 150 Vorgaben erstellt werden musste.
Zu den Erkenntnissen gehören unter anderem:
In gleicher Zeit ließen sich mit PHP funktionsreichere Lösungen entwickeln als mit Perl. In Sachen Sicherheit hat das berüchtigte PHP deutlich besser abgeschnitten als allgemein erwartet; alle Plattformen zeigten kein a priori ideales Verhalten. Perl-Lösungen waren am kompaktesten, die Java-Programme am umfangreichsten. Und die Leistungsfähigkeit der Programmierer ist eindeutig nicht generell von der gewählten Programmiersprache abhängig; das Personal ist also wichtiger als die Plattform.
Mehr Informationen zu diesem Programmierwettbewerb, der im nächsten Jahr auch .Net und Ruby on Rails betrachten soll gibt es unter www.plat-forms.org.
Quelle: Computerwoche
Unter Entwicklern herrschen unterschiedliche Meinungen darüber, welche Programmierplattform denn die bessere sei. Bezogen auf Webanwendungen gelten Perl und PHP als kompakt, aber nicht sehr sicher. Als Gegensatz dazu gilt Java...
geschrieben von gklinkmann
\\ tags: Java, perl, php
May 30
Ich habe gerade etwas in meinen alten ct’ Zeitschriften gestöbert und bin dabei in der Ausgabe 26/2006 auf den sehr interessanten Artikel Sicherheit von Webanwendungen gestoßen. Darin werden noch einmal ausführlich die momentan gängigen Angriffe, wie
- Cross Site Scripting
- Remote Code Execution und
- SQL Injektion
erläutert. Besonders WEB 2.0 Anwendungen sind gefährdet, da sich hier der gesamte Angriff auf dem Nutzerrechner abspielen kann.
Die meisten shared Webhosting Angebote basieren auf PHP. Ein großes Problem bei PHP ist, dass die Sicherheitsregeln (in der php.ini) nur global und nicht für jede Applikation einzelnd eingestellt werden können. Daher werden oft die Sicherheitsparameter weniger stark eingestellt, damit die Skripte der Kunden laufen. Die wichtigsten Parameter für die Sicherheit sind:
| Parameter |
Beschreibung |
| register_globals = off |
verhindert, dass Variablenzuweisungen in HTTP Anfragen und Cookies globale Programmvariablen überschreiben |
| allow_url_fopen = off |
sorgt dafür, dass PHP Skripte nur lokale Dateien des Servers einbinden können |
| safe-mode = on |
bewirkt unter anderem, dass der PHP Prozess nur noch auf Dateien und Verzeichnisse zugreifen darf, die dem Nutzer gehören, mit dessen Rechten der PHP Prozess läuft |
| open_basedir = /pfad/zum/www-ordner |
legt ein Verzeichnis fest, außerhalb dessen PHP Skripte keine Dateien öffnen können. |
| display_errors = off |
Bei Fehlern in PHP Skripten wird die PHP eigene Fehlermeldung unterdrückt, in der unter anderem der Dateisystempfad zur Webapplikation enthalten ist |
Quelle ct’ 26/2006
Auch die Online Resourcen zum Artikel sind äußerst interessant:
- Online-Demonstration bekannter XSS-Lücken
- Details zur Lücke im T-Online Karriereforum (mittlerweile gefixt)
- Erläuterung der SQL-Injektion bei Wikipedia
- PHP-Handbuch
- Sicherungserweiterung suEXEC für den Apache Webserver
- Dokumentation zum PHP-Safemode
- Webserver mit mod_security absichern
Ich habe gerade etwas in meinen alten ct’ Zeitschriften gestöbert und bin dabei in der Ausgabe 26/2006 auf den sehr interessanten Artikel Sicherheit von Webanwendungen gestoßen. Darin werden noch einmal...
geschrieben von gklinkmann
\\ tags: Java, php