|
|
|
|
| Zitat von v!pe
Wie kann man denn testen ob eine Seite sicher ist?
Reicht es erstmal alle $_GET und $_POST Variablen die man benutzt mit addslashes() zu versehen?
| |
Das ist genau der Fehler, den die PHP-Macher mit dem magic_quotes_gpc gemacht haben.
Mit Backslashes escapen muss man nur, wenn man die Daten direkt in ein MySQL Query einbauen will. Sonst nicht. Bei MSSQL ist es ist es zB schon wieder anders.
|
|
|
|
|
|
|
| Zitat von v!pe
Gut das ich das weiß.
Kann man denn per .HTACCESS sagen, welche Dateien in einem Ordner "ausgeführt", sprich durch den Apache gejagt werden sollen?
| |
Ja, wenn PHP als Modul installiert ist und die Apache Config es zulässt.
|
|
|
|
|
|
|
| Zitat von Meister Zopf
Ja, wenn PHP als Modul installiert ist und die Apache Config es zulässt. | | Man kann das aber nur auf Dateiendungen und Ordner beschränken (da bin ich mir zumindest relativ sicher). Außerdem ist es recht aufwendig für die einzelnen Ordern jeweils direktiven/.htaccess zu schreiben.
Der durchschnitsttsdauadmin ist faul, der würde das eh nicht machen.
Und wieso finde ich eigentlich keine Doku zu mod_php? Wer backt denn das Modul und ist dafür verantwortlich?
|
|
|
|
|
|
|
Der erste Schritt zu einer sicheren Applikation ist erstmal Fehlerbehandlung. Die meisten Funktionen meckern bei Übergabe von schlechten Parametern. Also Fehler imme überprüfen und darauf reagieren (und nicht irgendwie mit @fopen() irgendwelche Warnings unterschlagen )
Die nächste goldene Regel ist dem Benutzer niemals zu trauen. Egal was reinkommt, es sollte geprüft werden. Entweder mit entsprechenden Funktionen oder bei komplexeren Daten mittels regulärem Ausdruck.
Das das alles erstmal ganz toll klingt, aber auf der Implementierungsseite die Sache oftmals sehr zäh macht, ist mir klar. Aber für solche Sachen gibt es zumindest in Perl schonmal entsprechende validierungs Frameworks die mir einfach einen Großteil der Arbeit abnehmen. Wobei man da andereseits auch wieder mehr Fremdcode nutzt, der evtl. selbst nicht alles abprüft was er sollte
Übrig bleiben dann immernoch wie von Siggi beschrieben Logikfehler. Die sind meist sehr schwer zu finden. Da hilft nur debuggen und die wildesten Werte ins System reinschmeisen und schauen was es tut.
Softwaretests sind nicht umsonst Aufgaben die ganze Abteilungen monatelang in Anspruch nehmen
|
|
|
|
|
|
|
Oder eben schlicht nicht durchgeführt werden.
|
|
|
|
|
|
|
Den Fall gibts natürlich auch noch zu hauf
|
|
|
|
|
|
|
Tester/Tests kosten sowieso nur Zeit und Geld und sind an der Wertschöpfung nicht beteiligt.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SirSiggi am 04.04.2007 15:28]
|
|
|
|
|
|
| Zitat von GH@NDI
Die meisten Funktionen meckern bei Übergabe von schlechten Parametern. | | Naja, in PHP eben nicht immer (verdammt, es tut mir ja - fast - leid, dass ich ständig darauf herumhacke, aber was ist das für eine Sprache die es in 12 Jahren nicht geschafft hat das Verhalten eines explizieten casts festzulegen?).
Es scheint kaum fähige Designer (nicht Entwickler, ein Entwickler kann noch so gut sein, aber wenn er den Schrott nicht vorher sauber entwerfen und planen kann, dann taugt das alles nix) in dem Entwicklungstema zu geben.
/: Ich will auch nicht behaupten das ich es besser könnte, aber andere Entwicklungsteams schaffen es ja auch.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Achse-des-boesen am 04.04.2007 15:32]
|
|
|
|
|
|
Design ist auch so ein Punkt wie Test, den ausser Entwickler niemand zu schätzen weiß.
|
|
|
|
|
|
|
Ich gebe zu, ich hasse Design.
Ich werde vermutlich nie mit Feuereifer anfangen einen PAP und andere Diagramme zu zeichnen, aber ich weiß warum man es tun sollte
|
|
|
|
|
|
|
Diese händischesn Design mit Zeichnungen und Diagrammen sind ja auch blöd
Ich Designe im Kopf. Stelle dank meiner Erfahrung schon früh fest wo ich was anders angehen muss um unelegantes Parameter hin und herschieben zu vermeiden. Damit Dinge nicht in einer x-fache if-else-Verschachtelung und so enden. Damit man halt nach Möglichkeit sich selbst nicht in eine Sackgasse programmiert
|
|
|
|
|
|
|
Eben.
Ab einer gewissen Erfahrung weiß man einfach in den meisten Fällen, wie man es nicht machen sollte, und vermeidet es ganz...äh...instinktiv
Wobei ich fürchte, dass ich für meinen geplanten IRC-Client in Python doch mal ein wenig zeichnen muss
|
|
|
|
|
|
|
|
|
|
|
Ich hab dieses Semester eine Vorlesung bei Torben Weis, das ist der Entwickler vom kfm im KDE-Team.
Sehr lockerer Typ
|
|
|
|
|
|
|
hat hier schonmal jemand propel (http://propel.phpdb.org/trac/) in php eingesetzt?
ich hab jetzt fast die ganze doku durchgelesen und find das genial entwickelt ansich.
nur will ichs momentan auf meinem arbeitsrechner nicht installieren. hat evtl. von euch mal einer eine daraus generierte Klasse sowie den Peer dafür und kann ihn hier posten? Mich würd einfach das endergebnis interessieren
|
|
|
|
|
|
|
Sieht genau so aus wie das Konzept das man bei Django benutzt.
/me runs
|
|
|
|
|
|
|
Hat mir zufaellig jemand ein Tutorial um XML mit PHP in HTML zu konvertieren?
Die beispiele in PHP.net verstehe ich nicht so ganz
|
|
|
|
|
|
|
| Zitat von Y2Keeper
Hat mir zufaellig jemand ein Tutorial um XML mit PHP in HTML zu konvertieren?
Die beispiele in PHP.net verstehe ich nicht so ganz
| |
du meinst mittels eines xsl templates?
|
|
|
|
|
|
|
| Zitat von White[AoT]
hat hier schonmal jemand propel (http://propel.phpdb.org/trac/) in php eingesetzt?
ich hab jetzt fast die ganze doku durchgelesen und find das genial entwickelt ansich.
nur will ichs momentan auf meinem arbeitsrechner nicht installieren. hat evtl. von euch mal einer eine daraus generierte Klasse sowie den Peer dafür und kann ihn hier posten? Mich würd einfach das endergebnis interessieren
| |
Ist halt einer der vielen Datenbank <-> OO-Mapper die im Moment genauso wie die MVC-Frameworks wie Pilze aus dem Boden spriesen
Allerdings finde ich diese retrieveByPK() schon ziemlich extrem hässlich
Die Perl pandons sind übrigens DBIx::Class und Class::DBI (Das mit Maypole zusammen sang und klanglos unter ging )
|
|
|
|
|
|
|
achso noch zum thema sicherheit:
hier kann ich 2 bücher empfehlen:
- Hackish PHP, Pranks and Tricks
- Innocent Code: A Security Wake-up Call for Web Programmers
beide meiner meinung nach sehr lesenswert. überschneiden sich aber im gut 80% Ich hab nur das erste auch gelesen, weils etwas spezifischer in richtung PHP geht.
kann nur jedem empfehlen, so ein buch wirklich mal zu lesen. man hört zwar im internet an tausenden stellen, was man alles falsch machen kann und welche gefahren auf einen programmiere warten.
und sicherlich hat jeder schonmal was von sql injection gehört...
aber erst in so einem buch, wo man gebündelt am stück mal die meisten probleme kennenlernt, sieht man eigentlich, auf was man achten sollte.
sofar, White
hrhr, ich habs mal fett gemacht, weil sich mit dem thema sicherheit jeder auseinandersetzen sollte. und zwar intensiv.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von White[AoT] am 04.04.2007 17:33]
|
|
|
|
|
|
| Zitat von White[AoT]
| Zitat von Y2Keeper
Hat mir zufaellig jemand ein Tutorial um XML mit PHP in HTML zu konvertieren?
Die beispiele in PHP.net verstehe ich nicht so ganz
| |
du meinst mittels eines xsl templates?
| |
Ich habe eigentlich ueberhaupt keine ahnung, hatte aber gehofft ich wuerde mich reinarbeiten koennen...
Im prinziep habe ich ein PHP script gebastelt das mir aus dem inhalt eines ordners eine xml datei bastelt:
|
Code: |
<dir>
<folder>name</folder>
<file>name</file>
</dir>
|
|
Das ganze wurde ich jetzt gerne formatieren... wenn das mit XSL geht, dann ja, ein tutorial dafuer, bitte
|
|
|
|
|
|
|
arghl, kaum postet man was, muss man auf das nächste antworten.
ghandi, geb ich dir absolut recht. der punkt ist nur, ich will kein kack mvc framework. eigentlich will ich gar kein fertiges framework.
aber eine datenbank abstraktion will ich schon in php hab ich ausser diesem hier bisher aber noch keine "standalone" variante gefunden
|
|
|
|
|
|
|
| Zitat von Y2Keeper
zu viel text
| |
und schon wieder najo ein einfaches beispiel zum transformieren mit xsl wirst du nicht finden, zumal du dafür auch xsl lernen musst.
hier ein beispiel ohne transformation, einfach auf basis der daten
|
PHP: |
<?php
$xml = 'hier dein xml';
$doc = new DomDocument('1.0', 'UTF-8');
$doc->loadXml($xml);
echo 'Files in folder:
<ul>';
foreach($doc->getElementsByTagName("file") as $fileNode) {
echo '<li>' . $fileNode->firstChild->nodeValue . '</li>';
}
echo '</ul>';
?>
|
|
hmmm das is jetzt allerdings ausm kopf, daher keine garantie, ob das auch so funktioniert.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von White[AoT] am 04.04.2007 17:28]
|
|
|
|
|
|
Dann will ich dass wohl mal probieren. Danke
|
|
|
|
|
|
|
XSL macht aber Spaß und man kann Dateien anlegen die nur dafür zuständig sind!
(Keine Ahnung, wieso ich das so toll finde)
|
|
|
|
|
|
|
Noch cooler finde ich eigentlich das PDF erstellen mit Hilfe von XSL. Dafür kann man dann auch gut separate Dateien anlegen!
|
|
|
|
|
|
|
Wobei ich ja XML in Verbindug mit XSLT irgendwie dann doch ziemlich zickig finde. Vorallem wenn man anfängt das Dokument mit nem DTD zu restriktieren und welche Nodes wo auftreten dürfen, was wie wo verschachtelt werden darf und so
Mal ganz zu schweigen von diesen armseligen Kontrollkonstrukten in XSLT
|
|
|
|
|
|
|
|
|
|
|
Ach, dann halt so
Was weis denn ich schon
|
|
|
|
|
|
|
Xml Schema ist einfach so schön 'pervers'. Man beschreibt XML in XML, das ist wie... hab jetzt keinen guten Vergleich, aber man könnte sagen, wie "als wenn man sein eigener Vater wäre"
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |