Heim >Java >javaLernprogramm >Zusammenfassung von Java in der Webentwicklungssicherheit

Zusammenfassung von Java in der Webentwicklungssicherheit

怪我咯
怪我咯Original
2017-06-25 10:22:062559Durchsuche

1. Die Überprüfung der ursprünglichen Dateneingabe durch den Kunden basiert nicht auf einem Skript. Die Überprüfung von Eingabedaten auf der Client-Seite wie JavaScript ist zwar komfortabler, kann jedoch aus Sicherheitsgründen nicht verwendet werden. Skripte sind unsicher und Benutzer können Skripte blockieren. Wir können Benutzerdaten an den Server senden und die Rechtmäßigkeit der Zeichenfolge auf dem Server überprüfen.

2. Entfernen Sie in der HTML-Eingabekennung alle spitzen Klammern „e96e2e4546367a840bf0f1048c80c894' wird jeweils ersetzt. (2) (3) Aufgrund von Cross-Site-Scripting (CSS) besteht die Lösung darin, das Erscheinen von Skriptsymbolen zu vermeiden.

URL-Berechtigungstext

Alphanumerisch「;」「/」「?」「:」「@」「&」「=」「+」「$」「,」 "-" " _" "." "!" "~" "*" "'" "(" ")" "%"

4. Alle zu schützenden Webseiten müssen über eine Benutzerzertifizierungsstelle verfügen.

Speichern Sie nach der Anmeldung die Benutzer-ID in der SITZUNG und fügen Sie ein Skript zu jeder Seite hinzu, die zur Überprüfung geschützt werden muss. Wenn die Sitzung leer ist, schlägt die Überprüfung fehl und Sie müssen sich erneut anmelden.

<%
If Len(Session("ID")) = 0 Then
Response.Redirect "index.html"
End If
%>

Folgende Informationen werden besonders verarbeitet:

*Passwort

*Persönliche Daten wie E-Mail-Inhalte von Webmails

*Name und Alter , persönliche Informationen zum Wohnort

*Datenstruktur innerhalb des Webanwendungssystems

*Verschiedene Systeminformationen wie maximale Zeitstempel innerhalb des Webservers

→[1 -3. ]

5. Die SessionID, die im Voraus abgeleitet werden kann, kann nicht definiert werden, →[1-3.]

6. Wichtige wichtige Datenparameter sollten beim Senden nicht in der URL erscheinen >

Verwenden Sie Post, um Parameter zu übergeben. Und Gegenmaßnahmen:

* Verschlüsselte Kommunikation auf Basis von SSL

* Interferenzstrategie.

* Hijacking-Gegenmaßnahmen während des Gesprächs

7. Die Daten im ausgeblendeten Feld können nicht geändert und übertragen werden (der Wert des ausgeblendeten Felds kann nicht angezeigt werden, aber er wird übertragen und der Wert kann in der HTML-Quelldatei angezeigt werden, um zu verhindern, dass der Wert geändert und übergeben wird. Verwenden Sie nicht versteckt, um Daten abzurufen. Die Verbesserungsmethode besteht darin, Sitzung zum Speichern versteckter Daten zu verwenden →[1-5.]

8. Der Wert des Elements 4293aa673c6b566b1b4e672be0c402d8 und der Wert des Kontrollkästchenelements müssen überprüft werden, um festzustellen, ob die von der oben genannten Steuerung übermittelten Daten zulässig sind. →[1-6.]

9. Wenn Sie SQL schreiben, schreiben Sie es in Kombination mit Variablen. Zuerst prüfen und dann senden (filtern Sie die vom Benutzer übermittelten Variablen, bevor Sie sie in den SQL-Text einfügen) →[2-1.]

10 Geben Sie beim Zusammenstellen von SQL die Daten (') und das Semikolon (;) ein. ) muss verarbeitet werden. Der Grund ist derselbe wie bei 9) →[2-1.]

11. Betten Sie das Datenbankpasswort nicht in das Skript ein. Was die Einstellungen sensibler Daten betrifft, können Sie diese in der Konfigurationsdatei und Windows in der Registrierung festlegen. →[2-2.]

12. Beim Zugriff auf die Datenbank werden Benutzerberechtigungen separat festgelegt. Unterschiedliche Benutzerberechtigungen sind unterschiedlich, was mithilfe der Datenbankberechtigungseinstellungen erreicht werden kann, was zur Verbesserung der Sicherheit beiträgt. →[2-3.]

13. Import des Java-Klassenpakets. Importieren Sie nur die erforderlichen Klassen und keine ungenutzten Pakete und Klassen. Dies trägt zur Verbesserung der Sicherheit bei und verhindert, dass andere redundante Klassen verwenden, um Informationen zu erhalten, insbesondere mehrere sensible Klassenpakete →[3-1.]

14 . Verwenden Sie Sicherheitsrichtlinien-Dateieinstellungen, um die Ausführungsberechtigungen von Dateien zu steuern.

Dateipfad: ${java.home}/lib/security/java.policy

package org.penglee.policy.test;
//permission java.io.FilePermission "c://winnt//system32//notepad.exe", "execute";
import java.io.IOException;
 
public class NoSecurityManager {
         public static void main(String[] args) {
//                     SecurityManager mySecurityManager = new SecurityManager ();
//                     System.setSecurityManager (mySecurityManager);
                       try {
                                     Runtime myRuntime = Runtime.getRuntime ();
                                     myRuntime.exec ("c://winnt//system32//notepad.exe");
                       } catch (IOException e) {
                                     e.printStackTrace();
                       }
         }
}
→[3-1.]

15 Klasse (privat), um die Änderung von Daten in der Klasse einzuschränken oder eine Schnittstelle zu definieren, um sie zu implementieren. →[3-2.]

16. Die vom Programm serialisierten Daten sind nicht verschlüsselt. Um zu verhindern, dass die serialisierten Daten zum Lesen vertraulicher Daten verwendet werden, können Sie transient verwenden, um die serialisierten Daten zu verarbeiten. →[3-3.]

17. Verwenden Sie Abschlussklassen, außer denen, die offensichtlich vererbt werden müssen. Dies verhindert, dass die Vererbung ausgenutzt wird, um an vertrauliche Informationen zu gelangen. →[3-4.]

18. Verwenden Sie AssertionError, um Fehler auszulösen. Weitere Informationen finden Sie in der API-Dokumentation dieser Klasse →[3-5.]

19 Achten Sie auf die Dateninkonsistenz, die durch die Thread-Synchronisierung verursacht wird, um die Datensicherheit zu erhöhen. →[3-6.]

20. Vermeiden Sie relative Pfade in der Eingabe. Wenn ein relativer Pfad angegeben wird, tritt ein Fehler auf. Der Grund kann darin liegen, dass auf gleichrangige Ordner zugegriffen wird. →[4-1.]

26. Vermeiden Sie Klartext-Passwörter. Es empfiehlt sich, sensible Daten zu verschlüsseln → [9-1.]

27. →[9-1.]

28.29. Verwenden Sie das Programm, um den Pfad zu überprüfen (relative Pfade zu verhindern), um die Sicherheit des Dateinamens und der Daten zu überprüfen und einen Fehler zu melden, wenn er Sonderzeichen enthält. →[9-2.]

30.31. Um nicht zu viel zu lernen, seien Sie bei der Fehlermeldung beim Anmelden sehr vorsichtig. Für den Benutzer sichtbare Fehlermeldungen sollten nicht ausreichen, um Benutzer daran zu hindern, Informationen über die interne Struktur des Programms abzuleiten. →[9-3.]

32. Minimieren Sie den Teil der Datenverarbeitung, der eine privilegierte Nutzung erfordert, und versuchen Sie, die Verbreitung allgemeiner Datenverarbeitungsrechte zu vermeiden. Verwenden Sie zum Anmelden einen Benutzernamen mit weniger Berechtigungen und vermeiden Sie die Verwendung spezieller Berechtigungen zur Verarbeitung allgemeiner Daten. →[9-4.]


Das obige ist der detaillierte Inhalt vonZusammenfassung von Java in der Webentwicklungssicherheit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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