Kennt jemand ein gutes Buch bezüglich Sicheres Programmieren von PHP und SQL (Oder allgemein Sicherheit für Webapplikationen)?

4 Antworten

Guck dir anstatt eines Buches mal die Infos von OWASP an:

https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

Darüber hinaus solltest du auch noch alle anderen Seiten von OWASP lesen. Wenn du das getan hast, verfügst du über einen größeren Überblick i Bereich Security, als die meisten anderen PHP Programmierer und bist in der Lage, dir selbst entsprechende Bücher raus zu suchen.

Dich sollte übrigens nicht nur PHP interessieren, sondern auch alles, was damit zusammen hängt: Unit-Tests, Pen-Testing, Reversing, OS-Hardening, Metasploit, Intrusion Protection / Prevention / Detection, Forensik von Server und Logs, Proxies mit DPI gegen DDoS und andere Angriffe, und und und ...

Das eigentliche "Sicher-machen von PHP" ist nur ein Bruchteil von dem, was nötig ist, um einen Server abzusichern. Bei den Standardprozeduren wie Prepared Statements, validierung von eventuellen XSS-Parametern, Blocken von gewissen IP-Ranges, verhindern von Race-Conditions bei Dateizugriffen, dem Einsatz von Honey-Pots, Standard-Bot-Erkennung, usw., gehe ich jetzt mal davon aus, dass du dich sowieso schon damit beschäftigt hast.

Auf jeden Fall ist das ganze Thema so dermaßen komplex, dass die eigentliche PHP-Programmierung vielleicht nur 5% der Gesamtarbeit ausmacht.

Viel Erfolg! :)

Jedes neuere Buch sollte die Sicherheitsstandards behandeln. Gruß :)

38

Naja, mir ist leider kein PHP-Buch bekannt (auch nicht die ganz Dicken), die das Thema "Sicherheit" in ausreichender Form behandeln. Kann ja auch gar nicht, da das Thema so umfangreich ist, dass es alleine schon ganze Bände füllt.

Man kommt wohl um zusätzliche Literatur nicht drum rum.

Meistens kratzen Sicherheitstipps in Anfängerbüchern nur an der Oberfläche, und warnen allenfalls vor so etwas:

$q = 'select * from t where x=' . $_POST['y'];

Leider ist das nicht mal ansatzweise genug, und gerade als Anfänger sollte man sich nicht in falscher Sicherheit wiegen, wenn man folgendes macht:

echo htmlspecialchars($_POST['x']);

So etwas sah man früher auch häufig bei Großprojekten wie Joomla, Typo3, und Co. :)

0

Abspeichern in MySQL klappt nicht?

Hi, hat wer ne Idee warum das nicht klappt?

<?php
	if($_POST['groupname']) {
		$title = $_POST['groupname'];
		$description = $_POST['description'];
		$invite = $_POST['invitelink'];
		$category = $_POST['category'];
		$age = $_POST['age'];
		$date = date('Y');
    $statement = $db-&gt;prepare("INSERT INTO `group` (title, description, invite, category, date) VALUES (?, ?, ?, ?, ?, NOW())");
    $statement->bind_param('sssss', $title, $description, $invite, $category, $date); //Das ist Linie 11
        if ($statement->execute()) {
            echo "<h1>gespeichert</h1>";
        }
	} else {
		echo 'Hat nicht geklappt!!!!';
	}

Errorcode: Error 500 POST /new HTTP/1.0

AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in /var/www/vhosts/example.com/example.com/include/plugins/group/newgroup.inc.php:11\nStack trace:\n#0 /var/www/vhosts/example.com/example.com/website/new.php(7): require()\n#1 {main}\n thrown in /var/www/vhosts/example.com/example.com/include/plugins/group/newgroup.inc.php on line 11\n', referer: example.com/new

Also:

Das Script soll Daten in diese Datenbank abspeichern:

`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`description` text COLLATE utf8_unicode_ci DEFAULT NULL,
`invite` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`category` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`age` int,
`date` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`join` int COLLATE utf8_unicode_ci DEFAULT NULL,
`joindate` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`vote` int,
PRIMARY KEY (`id`), UNIQUE (`id`)

Ich hoffe ihr könnt mir helfen

MfG

Motfrager

...zur Frage

gibt es einen php-basierten csv-editor?

hallo!

kennt jemand einen komfortablen editor für csv-tabellen? es sollte ein kostenloses php-script sein.

da csv im grunde blanker text ist, sollte es solche lösungen doch sicher schon längst geben, sodass ich es nicht selber zu programmieren brauche. leider finde ich aber trotzdem nix.

lieben dank!

...zur Frage

Wie verschlüsseltes MySQL Passwort entschlüsseln?

guten morgen.

ich habe mir ein script gekauft und benötige hilfe wegen dem passwort.

das passwort ist verschlüsselt und ist in der my sql datenbank mit 074c03135c89084cf7214a90ed0d08d4 hinterlegt.

nun habe ich leider nicht das passwort vom verkäufer mitgeteilt bekommen und erhalte auf meine nachfrage keine antwort.

ein einloggen istm ir somit leider nicht möglich.

kann mir einer von euch weiterhelfen und sagen wie ich das passwort entschlüsseln kann?

vielen dank für eure hilfe.

...zur Frage

Habt ihr ne coole Idee für ne Website?

Also wenn ihr ne gute Idee habt, was ich programmieren kann, also als Website (Bitte kein Blog, Forum... Hab ich schon so oft für kleine Server und Personen gemacht...) bitte einfach rein... Ich beherrsche PhP, JavaScript, Sql(,Html, Css) sehr gut und zum großen teil auch Java...

Und bitte keine Antworten wie: "Wenn ich eine Idee hätte würde ich sie hier nicht reinschreiben..." usw.. Ich will einfach nur Spaß beim programmieren haben und kein Geld verdienen.

LG Jonas

...zur Frage

MySQL DB Spalte in Array speichern?

Hallo, wie kann ich eine Bestimmte Spalte bspw.

name

in ein einfaches Array abspeichern, dass ich auch außerhalb von while verwenden kann?also ein ganz normales Array z.B.

array("Wert1", "Wert2", "Wert3", "Wert4", "Wert5", "Wert6");

Das ganzen möglichst über PDO

...zur Frage

Wer kennt ein gutes Buch für Python Programmierung?

Hallo, ich suche ein Einsteigerfreundliches Buch zum Programmieren in Python.

...zur Frage

Was möchtest Du wissen?