2016-07-28 17 views
-1

Ich bin 16 und mache eine Menge Web-Design für Menschen. Ich mache meistens Front-End-Design, abgesehen von gelegentlichem PHP-Code beim Umgang mit Formularen. Während ich grundlegende Sterilisation und Validierung zu verwalten weiß, würde ich gerne kompliziertere Dinge wie Benutzerverwaltung und Login-Systeme lernen. Ich kenne mich mit js, MySQL und PHP usw. aus, aber ich fühle mich nicht sicher, solche Systeme zu sichern. Ich weiß, dass es keinen einzigen Leitfaden für Web-Sicherheit gibt, aber ich habe mich gefragt, ob jemand hilfreiche Anleitungen, Ressourcen usw. kennt. Auch, nur um irgendwo anzufangen.Die besten Möglichkeiten lernen grundlegende Web-Sicherheit

Was ich will, vor allem um lernen:

  • Einrichtung und den Erwerb von SSL-Zertifikate
  • Umgang mit SSL-Zertifikate
  • Aufbau sicherer Login-Systeme
  • Cookies aus Sicherheitsgründen
  • allgemeine PHP Sicherheit
  • SQL Sicherheit

Mein Endziel ist es, Websites mit Benutzern zu erstellen, die grundlegende Informationen, die ich sicher (keine Zahlungsdetails) in einer SQL-Datenbank speichern kann. Ich möchte in der Lage sein, einen Benutzer zu erstellen, melden Sie sich beim Anmelde- und Redaktionssystem an. Ich habe so etwas zuvor erstellt, aber nicht mit SSL. Meine Frage ist, wie lernst du das mit SSL?

könnte jemand ... - leiten Sie mich zu einem Leitfaden. - verweisen Sie mich auf Beispiele. - weisen Sie mich in die richtige Richtung.

(Beispiele wäre zu groß, um zu posten) wie ich sagte seine ziemlich breite Frage so leid (als jemand, der normalerweise Leute hasst, die Fragen wie diese). Sehr offen für Beratung jede Hilfe würde geschätzt werden :)

EDIT: Meine eigentliche Frage ist jetzt, wie ich lernen, wie SSL zu verwenden und einzurichten, nachdem ich ein Zertifikat gekauft habe?

+0

Es sieht so aus, als wäre es zu breit wie du gesagt hast (keine spezielle Frage), was nicht gut ist. –

+0

können Sie kostenlos SSL-Zertifikat erhalten von https://letsencrypt.org/ –

Antwort

0

Ich werde Punkte hinzufügen, über die ich weiß.

SQL-Sicherheit - Grundprinzip hier, vertraue nie Benutzereingaben, sanitize alles. Es gibt zahlreiche eingebaute Funktionen, zum Beispiel htmlentities und echte Escape-Zeichenfolge: MySQLi, für PDO, vorbereitete Anweisung.

Verwendung von Cookies für Sicherheitszwecke - Cookies sind immer ein Fehlerpunkt, da Benutzer Cookies so ändern können, wie sie es für richtig halten. Der beste Weg ist, eine zufällige Zeichenfolge innerhalb des Cookies zu verwenden, um den Benutzer später zu identifizieren. Sie generieren beispielsweise eine zufällige Zeichenfolge mit 50 Zeichen, fügen sie in einen Cookie ein, stellen sie so ein, dass sie nach einiger Zeit abläuft, und speichern die ID in SQL. Wenn Sie das nächste Mal eine Verbindung herstellen, können Sie überprüfen, ob Sie diese haben ID innerhalb von SQL und überprüfen, wer der Benutzer ist. Es ist immer noch unsicher, aber nicht so unsicher wie nur Passwörter innerhalb von Cookies Benutzer_id oder noch schlimmer. Die Verwendung von Sitzungen ist sicherer, aber wenn Sie Cookies verwenden müssen, würde ich es so machen.

Gebäude sichere Login-Systeme - SSL ist ein Schlüssel hier. Ein anderes ist Passwort-Verschlüsselung. Für PHP verwenden Sie password_hash, um das Passwort zu hashen. Der beste Weg, Passwörter davon abzuhalten, gestohlen zu werden, besteht darin, sie auch zu salzen. Sie können zum Beispiel AES verwenden, um password_hash selbst durch eine andere zufällige Zeichenfolge mit einem Schlüssel zu verschlüsseln, den nur Sie kennen, damit Sie ihn entschlüsseln und die Kennwörter überprüfen können.Ein weiterer Punkt ist, dass Sie einen fehlgeschlagenen Login-Zähler auf der Seite belassen. Anderenfalls könnten Nutzer Ihre Website mit vielen möglichen anderen Passwörtern überfluten, die möglicherweise funktionieren. Erzwingen Sie auch sichere Passwörter, die nicht leicht herauszufinden sind (test123, Passwort, pa55w0rd usw.).

Einrichten und Akquirieren von SSL-Zertifikaten - Um ein SSL-Zertifikat zu erhalten, das der Endbenutzer ebenfalls akzeptieren kann, ohne dass die Zertifizierungsstelle nicht erkannt wird, müssen Sie wahrscheinlich ein SSL-Zertifikat kaufen. Google hilft dabei .

+0

Hallo danke für Ihre Antwort hat mir sehr geholfen. durch die Geräusche davon könnte ich mehr wissen als ich eigentlich dachte. Ich sorge dafür, Benutzereingaben über PHP zu sterilisieren und mysql_real_escape_string usw. für MySQL-Sachen zu verwenden. Ich hasse auch Passwörter, aber salze sie nicht, danke. In diesem Sinne habe ich mit Hilfe des hier gefundenen Leitfadens ein Benutzersystem erstellt: [link] (http://www.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and- MySQL) Ich denke, meine eigentliche Frage ist nun, wie ich lernen kann, SSL zu verwenden und es einzurichten, nachdem ich ein Zertifikat gekauft habe. – James

+0

Gern geschehen. Es ist nicht gerade Kernphysik. Sie können versuchen, etwas zu erstellen und dann versuchen, es selbst zu brechen! :) – Janno