Inhaltsverzeichnis
1. Verhinderung von Cross-Site-Scripting-Angriffen
2. Verhinderung von Cross-Site Request-Forgery-Angriffe
3. Verhinderung von Cookie-Angriffen
Heim Backend-Entwicklung PHP-Tutorial Yii Framework Offizieller Leitfaden Serie 51 – Sonderthema: Sicherheitsmaßnahmen (Sicherheit)

Yii Framework Offizieller Leitfaden Serie 51 – Sonderthema: Sicherheitsmaßnahmen (Sicherheit)

Feb 16, 2017 am 09:56 AM



1. Verhinderung von Cross-Site-Scripting-Angriffen

Cross-Site-Scripting-Angriff (als XSS bezeichnet). Webanwendungen sammeln Informationen von Benutzern, Benutzerdaten. Angreifer injizieren häufig JavaScript, VBScript, ActiveX, HTML oder Flash in anfällige Webanwendungen, um Besucher zu verwirren und Besucherinformationen zu sammeln. Beispielsweise kann ein schlecht gestaltetes Forensystem Benutzereingaben ohne Überprüfung anzeigen. Ein Angreifer kann einen bösartigen JavaScript-Code in den Inhalt des Beitrags einschleusen. Auf diese Weise können diese JavaScript-Codes auf dem Computer des Besuchers ausgeführt werden, wenn andere Besucher diesen Beitrag lesen.

Eine der wichtigsten Maßnahmen zur Verhinderung von XSS-Angriffen ist: Inhaltsprüfung vor der Anzeige der vom Benutzer eingegebenen Inhalte. Beispielsweise können Sie HTML im Inhalt maskieren. In manchen Fällen ist diese Methode jedoch nicht ratsam, da diese Methode alle HTML-Tags deaktiviert.

Yii integriert HTMLPurifier und stellt Entwicklern eine sehr nützliche Komponente CHtmlPurifier zur Verfügung, die die HTMLPurifier-Klasse kapselt. Durch effektive Überprüfungs-, Sicherheits- und Whitelisting-Funktionen kann es sämtlichen Schadcode aus den geprüften Inhalten entfernen und sicherstellen, dass der gefilterte Inhalt nach der Filterung den Standards entspricht.

CHtmlPurifier-Komponente kann als Widget oder Filter verwendet werden. Bei Verwendung als Widget kann CHtmlPurifier den in der Ansicht angezeigten Inhalt sicher filtern. Das Folgende ist ein Codebeispiel:



<?php $this->beginWidget('CHtmlPurifier'); ?>
//...这里显示用户输入的内容...
<?php $this->endWidget(); ?>
Nach dem Login kopieren


2. Verhinderung von Cross-Site Request-Forgery-Angriffe

Cross-Site Request Forgery (kurz CSRF)-Angriff, d. h. wenn der Browser des Benutzers eine bösartige Website besucht, veranlasst der Angreifer den Browser des Benutzers, eine vom Angreifer angegebene Anfrage an eine vertrauenswürdige Website zu initiieren . Beispielsweise verfügt eine bösartige Website über ein Bild und die src-Adresse dieses Bildes verweist auf eine Bank-Website: http://www.php.cn/. Wenn der Benutzer diese bösartige Webseite besucht, nachdem er sich auf der Website der Bank angemeldet hat, sendet der Browser des Benutzers eine Anweisung an die Website der Bank. Der Inhalt dieser Anweisung könnte sein: „Überweisen Sie 10.000 Yuan auf das Konto des Angreifers.“ Cross-Site-Angriffe machen sich eine bestimmte Website zunutze, der der Benutzer vertraut, während CSRF-Angriffe im Gegenteil die spezifische Benutzeridentität des Benutzers auf einer Website ausnutzen.

Um CSRF-Angriffe zu verhindern, müssen Sie eines beachten: GETAnfragen dürfen nur Daten abrufen und keine Daten auf dem Server ändern. Die POST-Anfrage sollte einige Zufallswerte enthalten, die vom Server erkannt werden können, um sicherzustellen, dass die Quelle der Formulardaten und das Ziel der laufenden Ergebnisse identisch sind.

Yii implementiert einen CSRF-Präventionsmechanismus, um Angriffe basierend auf POST zu verhindern. Der Kern dieses Mechanismus besteht darin, zufällige Daten im Cookie festzulegen und diese dann mit dem entsprechenden Wert in den vom Formular übermittelten POST-Daten zu vergleichen.

Standardmäßig ist die CSRF-Prävention deaktiviert. Wenn Sie es aktivieren möchten, können Sie den CHttpRequest-Abschnitt der Komponente in der Anwendungskonfiguration bearbeiten.

Codebeispiel:



return array(
    'components'=>array(
        'request'=>array(
            'enableCsrfValidation'=>true,
        ),
    ),
);
Nach dem Login kopieren


Um ein Formular anzuzeigen, Bitte verwenden Sie CHtml::form, anstatt selbst HTML-Code zu schreiben. Denn CHtml::form kann automatisch ein verstecktes Element in das Formular einbetten. Dieses versteckte Element speichert zufällige Daten, die zur Überprüfung erforderlich sind. Diese Daten können zur Überprüfung an den Server gesendet werden, wenn das Formular gesendet wird.

Es ist sehr wichtig, Cookies vor Angriffen zu schützen. Denn die Sitzungs-ID wird normalerweise in Cookies gespeichert. Wenn der Angreifer eine gültige Sitzungs-ID stiehlt, kann er die dieser Sitzungs-ID entsprechenden Sitzungsinformationen verwenden.

Hier ein paar Vorsichtsmaßnahmen:

  • Sie können SSL verwenden, um einen sicheren Kanal zu erstellen und das Authentifizierungs-Cookie nur über eine HTTPS-Verbindung zu senden. Auf diese Weise kann der Angreifer das gesendete Cookie nicht entschlüsseln.

  • Legen Sie die Cookie-Ablaufzeit fest. Machen Sie dasselbe für alle Cookies und Seesion-Tokens. Dies verringert die Wahrscheinlichkeit, angegriffen zu werden.

  • Verhindert Cross-Site-Code-Angriffe, da dadurch beliebiger Code im Browser des Benutzers ausgelöst werden kann, wodurch möglicherweise die Cookies des Benutzers verloren gehen.

  • Überprüfen Sie den Inhalt des Cookies, wenn sich das Cookie ändert.

Yii implementiert einen Cookie-Überprüfungsmechanismus, um zu verhindern, dass Cookies geändert werden. Nach der Aktivierung kann eine HMAC-Prüfung der Cookie-Werte durchgeführt werden.

Die Cookie-Überprüfung ist standardmäßig deaktiviert. Wenn Sie es aktivieren möchten, können Sie den CHttpRequest-Abschnitt der Komponente in der Anwendungskonfiguration bearbeiten.

Codebeispiel:



return array(
    'components'=>array(
        'request'=>array(
            'enableCookieValidation'=>true,
        ),
    ),
);
Nach dem Login kopieren


Achten Sie darauf, Yii zu verwenden Authentifizierte Cookie-Daten. Verwenden Sie für Cookie-Vorgänge die integrierte Cookie-Komponente von Yii, nicht $_COOKIES.

// 检索一个名为$name的cookie值
$cookie=Yii::app()->request->cookies[$name];
$value=$cookie->value;
......
// 设置一个cookie
$cookie=new CHttpCookie($name,$value);
Yii::app()->request->cookies[$name]=$cookie;
Nach dem Login kopieren


Das Obige ist der Inhalt von Yii Framework Official Guide Series 51 – Spezialthema: Sicherheitsmaßnahmen (Sicherheit). PHP chinesische Website (www. php.cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie das Yii-Framework in PHP So verwenden Sie das Yii-Framework in PHP Jun 27, 2023 pm 07:00 PM

Mit der rasanten Entwicklung von Webanwendungen ist die moderne Webentwicklung zu einer wichtigen Fähigkeit geworden. Für die Entwicklung effizienter Webanwendungen stehen viele Frameworks und Tools zur Verfügung, unter denen das Yii-Framework ein sehr beliebtes Framework ist. Yii ist ein leistungsstarkes, komponentenbasiertes PHP-Framework, das die neuesten Designmuster und Technologien nutzt, leistungsstarke Tools und Komponenten bereitstellt und sich ideal für die Erstellung komplexer Webanwendungen eignet. In diesem Artikel besprechen wir, wie Sie das Yii-Framework zum Erstellen von Webanwendungen verwenden. Installieren Sie zuerst das Yii-Framework.

Unit-Tests im Yii-Framework: Sicherstellung der Codequalität Unit-Tests im Yii-Framework: Sicherstellung der Codequalität Jun 21, 2023 am 10:57 AM

Da die Softwareentwicklung immer komplexer wird, wird die Sicherstellung der Codequalität immer wichtiger. Im Yii-Framework ist Unit-Test ein sehr leistungsfähiges Werkzeug, das die Korrektheit und Stabilität des Codes sicherstellen kann. In diesem Artikel werden wir uns eingehend mit Unit-Tests im Yii-Framework befassen und vorstellen, wie man das Yii-Framework für Unit-Tests verwendet. Was ist Unit-Test? Unit-Tests sind eine Softwaretestmethode, die normalerweise zum Testen der Korrektheit eines Moduls, einer Funktion oder einer Methode verwendet wird. Unit-Tests werden in der Regel von Entwicklern geschrieben, um die Korrektheit und Stabilität des Codes sicherzustellen.

RESTful API-Entwicklung im Yii-Framework RESTful API-Entwicklung im Yii-Framework Jun 21, 2023 pm 12:34 PM

Yii ist ein leistungsstarkes MVC-Framework auf Basis von PHP. Es bietet einen sehr umfangreichen Satz an Tools und Funktionen zur Unterstützung der schnellen und effizienten Entwicklung von Webanwendungen. Unter anderem hat die RESTfulAPI-Funktion des Yii-Frameworks immer mehr Aufmerksamkeit und Liebe von Entwicklern auf sich gezogen, da mit dem Yii-Framework problemlos leistungsstarke und leicht skalierbare RESTful-Schnittstellen erstellt werden können, die die Entwicklung von Webanwendungen stark unterstützen. Einführung in RESTfulAPI RESTfulAPI ist eine

Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Jul 30, 2023 am 09:22 AM

Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Einführung: Während des Webentwicklungsprozesses ist es zur Verbesserung der Leistung und Benutzererfahrung der Website häufig erforderlich, die Seite zwischenzuspeichern und zu segmentieren. Das Yii-Framework bietet leistungsstarke Caching- und Layoutfunktionen, die Entwicklern dabei helfen können, Webseiten-Caching und Seiten-Chunking schnell zu implementieren. In diesem Artikel wird erläutert, wie das Yii-Framework zum Implementieren von Webseiten-Caching und Seiten-Chunking verwendet wird. 1. Aktivieren Sie das Webseiten-Caching. Im Yii-Framework kann das Webseiten-Caching über die Konfigurationsdatei aktiviert werden. Öffnen Sie die Hauptkonfigurationsdatei co

Erstellen Sie eine Spielanleitungs-Website mit dem Yii-Framework Erstellen Sie eine Spielanleitungs-Website mit dem Yii-Framework Jun 21, 2023 pm 01:45 PM

In den letzten Jahren haben mit der rasanten Entwicklung der Spielebranche immer mehr Spieler begonnen, nach Spielstrategien zu suchen, die ihnen helfen, das Spiel zu bestehen. Daher kann die Erstellung einer Spielanleitungs-Website den Spielern den Zugang zu Spielanleitungen erleichtern und gleichzeitig den Spielern ein besseres Spielerlebnis bieten. Beim Erstellen einer solchen Website können wir das Yii-Framework für die Entwicklung verwenden. Das Yii-Framework ist ein Webanwendungsentwicklungsframework, das auf der Programmiersprache PHP basiert. Es zeichnet sich durch hohe Effizienz, Sicherheit und starke Skalierbarkeit aus und kann uns dabei helfen, einen Spielführer schneller und effizienter zu erstellen.

Verschlüsseln und entschlüsseln Sie sensible Daten mithilfe der Yii-Framework-Middleware Verschlüsseln und entschlüsseln Sie sensible Daten mithilfe der Yii-Framework-Middleware Jul 28, 2023 pm 07:12 PM

Verschlüsseln und Entschlüsseln sensibler Daten mithilfe der Yii-Framework-Middleware Einführung: In modernen Internetanwendungen sind Datenschutz und Datensicherheit sehr wichtige Themen. Um sicherzustellen, dass die sensiblen Daten der Benutzer nicht für unbefugte Besucher zugänglich sind, müssen wir diese Daten verschlüsseln. Das Yii-Framework bietet uns eine einfache und effektive Möglichkeit, die Funktionen zum Verschlüsseln und Entschlüsseln sensibler Daten zu implementieren. In diesem Artikel erfahren Sie, wie Sie dies mithilfe der Middleware des Yii-Frameworks erreichen. Einführung in das Yii-Framework Das Yii-Framework ist ein leistungsstarkes PHP-Framework.

Yii Framework Middleware: Fügen Sie Ihrer Anwendung Protokollierungs- und Debugging-Funktionen hinzu Yii Framework Middleware: Fügen Sie Ihrer Anwendung Protokollierungs- und Debugging-Funktionen hinzu Jul 28, 2023 pm 08:49 PM

Yii-Framework-Middleware: Protokollierungs- und Debugging-Funktionen zu Anwendungen hinzufügen [Einführung] Bei der Entwicklung von Webanwendungen müssen wir normalerweise einige zusätzliche Funktionen hinzufügen, um die Leistung und Stabilität der Anwendung zu verbessern. Das Yii-Framework stellt das Konzept der Middleware bereit, das es uns ermöglicht, einige zusätzliche Aufgaben auszuführen, bevor und nachdem die Anwendung die Anfrage verarbeitet. In diesem Artikel wird erläutert, wie Sie die Middleware-Funktion des Yii-Frameworks verwenden, um Protokollierungs- und Debugging-Funktionen zu implementieren. [Was ist Middleware?] Middleware bezieht sich auf die Verarbeitung von Anfragen und Antworten vor und nach der Verarbeitung der Anfrage durch die Anwendung.

So verwenden Sie Controller zum Verarbeiten von Datei-Uploads und -Downloads im Yii-Framework So verwenden Sie Controller zum Verarbeiten von Datei-Uploads und -Downloads im Yii-Framework Jul 30, 2023 pm 12:25 PM

So verwenden Sie Controller (Controller) zum Verarbeiten von Datei-Uploads und -Downloads im Yii-Framework. Datei-Uploads und -Downloads sind in vielen Webanwendungen sehr häufig. Im Yii-Framework können wir Datei-Upload- und Download-Vorgänge über Controller abwickeln. In diesem Artikel wird die Verwendung von Controllern im Yii-Framework zum Hoch- und Herunterladen von Dateien vorgestellt und entsprechende Codebeispiele bereitgestellt. 1. Datei-Upload Unter Datei-Upload versteht man die Übertragung von Dateien vom lokalen Computer auf den Server

See all articles