Frage zu System.getproperties.

Joob

Top Contributor
In meiner Javaanwendung muss ich Zugangsdaten für Server und Datenbanken speichern.
Diese werden verschlüsselt angeliefert.

Kann ich diese wirklich sicher unverschlüsselt in einer System.setProperty speichern ?
Wenn jemand darauf Zugriff bekommt ist alles verloren.

Weiß jemand das sicher zu beantworten ?
 

httpdigest

Top Contributor
Wen meinst du mit "jemand" und wie sollte dieser Jemand Zugriff auf deinen Server erhalten?
Bei Serveranwendungen geht man grundsätzlich davon aus, dass ein Angreifer nicht den Prozess bzw. den Host selbst kontrollieren kann.
 

Robert Zenz

Top Contributor
Kann ich diese wirklich sicher unverschlüsselt in einer System.setProperty speichern ?
Irgendwo muessen sie unverschluesselt sein in deinem Applikationsspeicher, und wenn du so etwas wie Spring oder ein aehnliches Framework verwendest, kannst du das ohnehin nicht kontrollieren. System-Properties, trotz des Namens, propagieren *nicht* ins System. Die gelten nur fuer deinen Prozess und Aenderungen wandern nicht ueber deinen Prozess hinaus. Ich glaube Aenderungen sind sogar nur Java intern, also die wandern auch nicht in die Umgebung des Prozesses auf Betriebssystem-Ebene.

Also deinen *eigenen* Applikationsspeicher kannst du eigentlich immer als sicheren Ablageort fuer Informationen betrachten, weil wenn jemand den Speicher von deiner Applikation mitliest oder mitschneidet, ist ohnehin schon alles gelaufen, vorbei, erledigt, finito. Dann hast du bereits lange vorher verloren. Natuerlich gibt es das Prinzip "Geheimnisse sollte man nur so kurz wie moeglich im Speicher halten." aber in Java ist das etwas schwierig und die Idee kannst du eigentlich knicken. Weil nehmen wir mal an, dein Passwort wird aus einer Datei gelesen:

Java:
String password = new String(Files.readAllBytes(Paths.get("password.text")), StandardCharSet.UTF8);

// Verwendung

password = null;

So, jetzt hast du zwar die *Variablenreferenz* auf null gesetzt, aber niemand und nichts sagt dir was mit dem Speicher von dem String ist. Schlimmer noch, nehmen wir an wir *koennten* den Speicher sicher loeschen:

Java:
String password = new String(Files.readAllBytes(Paths.get("password.text")), StandardCharSet.UTF8);

DatabaseConnection.init(password);

safelyDelete(password);

Selbst unter dieser Annahme, koennte dir die init Funktion einen Strich durch die Rechnung machen:

Java:
public class DatabaseConnection {
    public static void init(String password) {
        password = password.intern();
    }
}

Und nun liegt dein Passwort im Java String-Cache...fuer immer, glaube ich. Ich kenne die Regeln nicht nach welchen der String-Intern-Cache ausgeleert wird. Das gleiche gilt wenn die Datenbankverbindung den JDBC-Connection-String speichert, da steht auch das Passwort drinnen.

Java:
public class DatabaseConnection {
    private static connectionString;
   
    public statitc void init(String password) {
        connectionString = "jdbc://blabla:" + password + "/blabla";
        // Verwendung hier.
    }
}

Jetzt gibt es Leute die sagen "Mach' das doch char[], dann kannst du das sicher loeschen." Ja, ist richtig. Ein Array koennen wir tatsaechlich mit *sehr sehr hocher Wahrscheinlichkeit* sicher loeschen in dem wir die Daten darin einfach ueberschreiben:

Java:
char[] password = readPasswordFromFile();

// Verwendung

password[0] = 'x';
password[1] = 'x';
// ...

Aber dennoch, *irgendwann* wurde das zu einem String umgewandelt wenn es eine Datenbank-Verbindung mit JDBC ist. Und ob der Speicher hier "korrekt" ueberschrieben wird, ist eigentlich ein Implementierungsdetail der JVM auf der du laeufst, nichts garantiert dir das.

Also wenn du nicht gerade eine extreme Anforderung hast, vertraue dem Speicher welcher deiner Applikation gehoert. Weil wenn du dem nicht vertrauen kannst, ist die Sache gelaufen.



Tatsaechlich habe ich mal an einem Projekt gearbeitet wo wir eine solche Anforderung hatten...es ist die Hoelle. Wir mussten eine komplett abgesicherte Hardware-Struktur aufbauen (zugesperrtes BIOS, abgesicherter Boot, signiertes Betriebssystem, signierte Applikation, nicht mal Admin kann mehr Sachen machen und so weiter) um die Anforderung zu erfuellen. Und da hoerte es nicht auf, physische Masznahmen kommen dann ja auch noch dazu (sonst geht jemand zum Server und tut dort einfach Dinge).
 

fhoffmann

Top Contributor
EDIT: ich hatte die Bemerkúngen von @Robert Zenz noch nicht gelesen

Hallo,

du hast ein grundsätzliches Problem: Das Programm muss sich mit der Datenbank verbinden und die Verbindungsdaten müssen dem Programm bekannt sein, "Jemand" kann diese Verbidungsdaten aus dem Programm oder seinen Property-Dateien auslesen.

Meist "löst" man dieses Problem, indem man den Client auf einen Server zugreifen lässt, der die Verbindungsdaten zur Datenbak kennt, Aber dies ist nur ene Erschwerung des Zugriffs (und so habe ich auch @httpdigest verstanden), aber es löst das Problem nicht entgültig.

Es kann also nur darum gehen, dem "jemand" (Angreifer) das Leben möglichst schwer zu machen . Einen erfolgreichen Angriff kannst du nicht verhindern.
 
Zuletzt bearbeitet:
M

Mart

Gast
Du solltest vllt mal single Source of truth in betracht ziehen im prinzip geht es darum

du gibst client das programm
derjenige decompiliert es
und ändert es um
oder spielt böse rum

um hier beispiel zu nennen

in unity kannst du als client deine FPS rate deinem Server vorgaukeln dass diese Doppelt so hoch,also bei fps basierter bewegung bewegst du dich doppelt so schnell , indem du eine readonly variable von außen im speicher änderst, das ist mal als "böse rum spielen" gedacht gewesen

das decompilieren ist nicht schwer... jaja es gibt obfuscatoren aber jemand der es will kommt auch ran

jetzt könntest du einen Server dazwischen stellen der auf deine Datenbank aufpasst und entscheidet "lass ich jetzt den dude rein oder nicht" ... der Server überprüfut alles und entscheidet immer auf basis der Einstellung dass der Gegenüber gelogen hat und rum gepfuscht hat



so wurde es in Call of duty, und so ziemlich allen Unity spielen mit photon umgesetzt, nur dein Server hat recht und der Client ist erst einmal immer falsch

deswegen braucht call of duden modern rechtschreibung auch kein "easy anti cheat" ( ist client seite überprüfung ob unfug getrieben wird ) sondern wenn jemand schwachsinn sagt beurteilt der server das und wenn das ZIEMLICHER schwachsinn ist wie rum fliegen ... DELETE FROM * .. .oder ähnliches dann wird die anfrage erstmal verworfen und abgespeichert dass da jemand grampf gemacht hat ( bzw in call of duden automatisches bannen )


ich weis nicht wie ich das single source of truth anders ohne spiele erklären soll...aber datenbank von außen zugänglich machen puh...

natürlich hast du damit neue probleme wie zb du machst nen port auf und da kann man auch wieder böse sachen tun ...wie zb gespammt werden mit fake anfragen ( denial of service )
 

Oneixee5

Top Contributor
In meiner Javaanwendung muss ich Zugangsdaten für Server und Datenbanken speichern.
Diese werden verschlüsselt angeliefert.
Ich sehe eher hier einen Designfehler der Anwendung. Den direkte Zugriff auf eine zentrale DB sollte es niemals geben (Es geht nicht um eine lokale DB mit privatem Zugriff). Der Zugriff erfolgt immer über eine Zwischenschicht/Server. Am Server wird der Kunde authentifiziert und autorisiert, d.h. jeder Kunde hat eigene Zugangsdaten und diese werden nicht in der Anwendung als Konstanten hinterlegt. Die Autorisierung stellt sicher, dass keine Daten gelesen oder manipuliert werden können, welche nicht für den Kunden bestimmt sind. Werden die Zugangsdaten eines Kunden gestohlen, können also nur die Daten diese Kunden kompromittiert werden. Es ist also niemals "alles verloren". Du bist sogar verpflichtet so vorzugehen. Nimmt man mal "verloren" wörtlich, dann kommt hier noch ein weiterer Aspekt des Datenschutzes ins Spiel. Datenschutz bedeutet nicht nur Daten vor unberechtigtem Zugang zu schützen, sondern auch deren Verfügbarkeit und Integrität zu gewährleisten. Man muss sich bspw. auch überlegen, wie sind meine Daten im Falle von technischen Defekten, Feuer oder Naturkatastrophen geschützt.
 

LimDul

Top Contributor
Vielleicht sollte man mal klären, von was von einer Anwendung reden wir hier:

Client-Anwendung => DB Passwort hat nichts verloren in der Anwendung, es gibt zwischen Client und DB eine Schicht, die den Client authorisiert und dafür sorgt, dass er nur die Dinge tun darf, auf die er berechtigt ist

Server-Anwendung => DB-Passwort ist im Klartext verfügbar (man kann es zwar erschweren, aber im End-Effekt ist es im Klartext in der Anwendung verfügbar)
 

Joob

Top Contributor
Ich greife per PHP auf die DB.
Erst auf dem Server werden die DB Zugänge entschlüsselt.

Decompile und damit ggf. verbundene Informationen zur Entschlüsselung habe ich mit einem C Programm gelöst.

Kann ich als Resume behalten, ein Zugriff auf die System.getProperty ist zur Laufzeit nicht möglich.
 

mrBrown

Super-Moderator
Mitarbeiter
Kann ich als Resume behalten, ein Zugriff auf die System.getProperty ist zur Laufzeit nicht möglich.
Besser ist es, davon auszugehen, dass jeder der Zugriff auf den Server hat auf ALLES Zugriff hat. Wer keinen Zugriff auf den Server hat, wird auch auf System.getProperty nicht zugreifen können.



Aber wenn du PHP und C benutzt: an welcher Stelle benutzt du System#getProperty?
 
M

Mart

Gast
Das ist ein Witz oder? Als ob man C-Code nicht dekompilieren oder debuggen könnte. Das habe ich früher immer gemacht, um für PC-Spiele keine CD einlegen zu müssen.
in eclipse und intellij kannst du sogar einfach nur ne kompilierte java datei rein ziehen und kannst dir den source code anschauen :D
 

Joob

Top Contributor
Irgendwo müssen doch die Zugangdaten liegen.
Wenn ich alles einfach so ansehen kann dann dürfte es doch keinerlei Sicherheit mehr geben.

Wie macht man das denn um es sicher zu machen.

Jetzt sag nicht Daten auf einem Server ablegen,
da muss man ja auch drauf zugreifen und um das zu machen muss ich mich anmelden.
 

httpdigest

Top Contributor
Naja, du hast gesagt: "Jetzt sag nicht Daten auf einem Server ablegen",
woraufhin ich sagte: "Daten auf einem Server ablegen"

Andere Frage: Warum gibt Facebook nicht einfach die Datenbank-Credentials zum Ausführen von SQL-Statements auf ihrer gesamten Datenbasis jedem User, dann kann jeder User ja einfach selbst SQL-Statements abfeuern (jetzt mal angenommen, Facebook hat ein relationales Datenbank-Management-System im Einsatz).
Nein... stattdessen bietet Facebook dir ein Web UI, auf dem du dich eben mit deinem User anmelden musst + eine restriktierte Sicht auf die Daten in Form einer API.

Antwort: Principle of least privileges.

Natürlich braucht ein User erstmal eine Authentifizierung, um seine Identität deiner Anwendung gegenüber zu beweisen. Aber das heißt ja selbstverständlich lange noch nicht, dass das gleich die Datenbank-Credentials sein müssen, mit denen er sich gleich an der Datenbank anmelden. Das ist totaler Quatsch.
 

Joob

Top Contributor
Ich habe eine Java App die auf dem Kunden PC laufen soll.
Zugriff auf Server passiert über UserAccount des Servers und dann über PHP auf die DB.
Im Programmablauf werden aber auch immer wieder per SFTP Dateien übertragen.

Der Zugriff auf die DB wird erst auf dem Server im PHP entschlüsselt.

Der User soll aber auch auf andere Server zugreifen können, ohne das Bewusst zu merken.
Der Punkt ist halt der das alles auf dem Rechner des Kunden läuft.

Zugänge werden dorthin erst bei Anwendungsstart verschlüsselt übermittelt und dann
deshalb meine Frage zu den Properties entschlüsselt.
Die Entschlüsselung übernimmt das C Programm.
Nach Anwendungsende befinden sich keine Zugangsdaten mehr auf dem Kunden PC.

Als ich gesehen wie einfach Java zu dekompilieren ist habe ich die Verschlüsselungsalgorithmen
in C geschrieben und dieses C Programm im Javaprogramm eingebunden.
Es ist auch nicht einfach zu starten aber im Dekompilierten Java-Progamm ist ja alles offen wenn man
nur genügend Zeit investiert.

Das muss doch sicher umsetzbar sein
oder muss ich alles umbauen und irgendwie versuchen die JavaApp vom Server zu starten ?
Wie könnte das gehen.
 

LimDul

Top Contributor
Das hört sich - gelinde gesagt - alles sehr strange an.

Wenn du wirklich Hilfe willst, musst du mal erklären was du eigentlich tust.

Es geht hier um DBs, SFTPs, Server und irgendwelche Zugangsdaten. Zugangsdaten wozu?

Also, wer kommunziert mit wem und wo werden Zugangsdaten benötigt?

Wenn die auf dem Server entschlüsselt werden, haben die mal gar nichts auf dem Client verloren. Dann kann man auf dem Client API-Keys hinterlegen, die auf dem Server gegen Zugangsdaten gemappt werden - aber niemals irgendwelche entschlüsselbaren Daten.

Wenn die auf dem Client entschlüsselt werden - egal ob Jave oder C - dann sind dem Client im Klartext bekannt und als unsicher anzusehen. Das heißt, es dürfen nur Zugangsdaten sein, wo nichts schlimmes passiert, wenn die dem User bekannt sind.
 

Joob

Top Contributor
Ich habe doch alles beschrieben.

Zugangsdaten auf den Server des Clients werden von einem Headerserver abgefragt und verschlüsselt übermittelt.
Zum Programmstart werden diese entschlüsselt und stehen dem Client zur Laufzeit zur Verfügung.

PHPs werden mit verschlüsselten Daten für den Datenbankzugriff aufgerufen und im PHP auf dem Server entschlüsseln
dann greifen diese PHPs auf die DB zu und schicken Ihren Response.

Dateien werden per SFTP im UserAccount übertragen und stehen der Anwendung zur Laufzeit zur Verfügung.

SQLs können nur nach Entschlüsselung eines Codes verwendet werden,
DB Zugriffsdaten müssen auch erst im PHP entscchlüsselt werden.

Das läuft alles und zwar schnell.
Wenn Recompilen nicht möglich wäre, gäbe es kein Sicherheitsproblem.
Deshalb meine Frage zur Möglichkeit die JavaAnwendung auf dem Server zur Verfügung zu stellen
und diese ohne Programmdaten auf dem Client PC laufen zu lassen ohne den Server zu belasten.
 

httpdigest

Top Contributor
Zugangsdaten auf den Server des Clients werden von einem Headerserver abgefragt und verschlüsselt übermittelt.
Zum Programmstart werden diese entschlüsselt und stehen dem Client zur Laufzeit zur Verfügung.
Okay, warum machst du das?
Warum müssen hier irgendwelche Zugangsdaten zu einem Server an einen Client transportiert werden?
Das Ziel sollte nicht sein, dass der Client sich gegenüber dem Server authentifiziert (bzw. beweist, dass er etwas "hat" - im Sinne der Informationssicherheit), sondern dass der User/Benutzer etwas weiß/hat, um sich mit Hilfe des Clients am Server (oder einem anderen Identity Provider - siehe z.B. OAuth) zu authentifizieren.

Man authentifiziert niemals Clients/Programme/Apps, sondern immer Benutzer/User, mit etwas, was der Benutzer entweder:
a) ist (Biometrie)
b) hat (z.B. Hardware-Dongle)
c) weiß (z.B. Passwort)

Wie @LimDul schon sagte: Vertraue NIEMALS dem Client/Programm. Nur dem User.

Das, was du machst, ist _genau_ die Definition von "Security by Obscurity" wie @Oneixee5 schon schrieb.
 

LimDul

Top Contributor
Ich habe doch alles beschrieben.

Zugangsdaten auf den Server des Clients werden von einem Headerserver abgefragt und verschlüsselt übermittelt.
Zum Programmstart werden diese entschlüsselt und stehen dem Client zur Laufzeit zur Verfügung.

PHPs werden mit verschlüsselten Daten für den Datenbankzugriff aufgerufen und im PHP auf dem Server entschlüsseln
dann greifen diese PHPs auf die DB zu und schicken Ihren Response.

Dateien werden per SFTP im UserAccount übertragen und stehen der Anwendung zur Laufzeit zur Verfügung.

SQLs können nur nach Entschlüsselung eines Codes verwendet werden,
DB Zugriffsdaten müssen auch erst im PHP entscchlüsselt werden.

Das läuft alles und zwar schnell.
Wenn Recompilen nicht möglich wäre, gäbe es kein Sicherheitsproblem.
Deshalb meine Frage zur Möglichkeit die JavaAnwendung auf dem Server zur Verfügung zu stellen
und diese ohne Programmdaten auf dem Client PC laufen zu lassen ohne den Server zu belasten.
Warum müssen die Daten vom Headerserver => Client => PHP-Server wandern?

Warum muss der Client sie kennen? Warum können die Zugangsdaten nicht nur auf Headerserver / PHP-Server liegen?
 

Joob

Top Contributor
Ich antworte morgen, hab heute den ganzen Tag an dem Ding gearbeitet.
Bitte nicht böse sein.

An der Anwendung habe ich nun seit 4 Jahren gearbeitet und immer gedacht das wird sich
schon lösen lassen, ist ja nah darn, aber jetzt.
 

Joob

Top Contributor
Ich greife per PHP auf die DB.
Erst auf dem Server werden die DB Zugänge entschlüsselt.

Decompile und damit ggf. verbundene Informationen zur Entschlüsselung habe ich mit einem C Programm gelöst.

Kann ich als Resume behalten, ein Zugriff auf die System.getProperty ist zur Laufzeit nicht möglich.
 

Joob

Top Contributor
@LimDul Der Headerserver wird zwingend für die App gebraucht.

In der App kann man Benutzer anlegen und alle müssen auf Ihren Server sowie auf den HeaderServer zugreifen.
Dabei kommt es auf beiden Servern zu Datenbankzugriffen und SFTP

Der Zugriff auf die Server erfolgt als User des Servers.
Jeder ClientServer hat einen eigenen User und der HeaderServer hat einen eigenen User.

Wie kann man das mit dem von Euch beschrieben Konzepten umsetzen.
Wäre toll wenn das jemand erklären wollte, aber sonst würde mir ein Link schon sehr helfen.

Es führt ja kein Weg an einem Umbau der Sicherheitskonzepte vorbei oder.
 

mrBrown

Super-Moderator
Mitarbeiter
Es führt ja kein Weg an einem Umbau der Sicherheitskonzepte vorbei oder.
Statt Umbau eher Abriss und Neubau, aber ja ;)

Wie dass sinnvoll geht wurde schon gesagt: die „geheimen Daten“ dürfen niemals den Server verlassen und auf dem Client-Rechner landen. Wie man das in deinem Fall löst kann dir niemand sagen, ohne zu wissen, was du eigentlich genau machen willst.
 

Joob

Top Contributor
Ja das Sicherheitskonzept baue ich um, aber ich möchte jetzt nicht wieder den Fehler machen zu früh zu beginnen ohne das mir alles klar ist.
 

Joob

Top Contributor
Was meinst du damit.
Auf jedem Clientserver ist eine eigene Datenbank.

Momentan übersende ich die SQLs mit einem Code, und diese werden nur im PHP verarbeitet wenn dieser stimmt.
Das allerdings kann dann ja auch so nicht bleiben.
 

LimDul

Top Contributor
Dieses Bild erklärt leider nichts.

Client & Server in einem Kasten ist Unfug.

Wo läuft welche Instanz, welche Instanz kommunziert über welchen Weg mit welcher anderen Instanz und welche Passwörter darf wer wissen. Da reichen 3 Kästen mit Pfeilen nicht.

Du brauchst minimum:

1 Kasten für:
* DB
* Header
* Client
* Server
* SFTP Server

Für jeden Kasten musst du beschreiben:
* Wo läuft der? Unter welcher Hoheit, wer "administriert" diesen? In welchem Netzwerk steht der

Die Verbindungen müssen dann exakt notwendigen Zugriffen entsprechen.

Für jede der Verbindung muss klar sein, wer authentifiziert sie. Und wer darf die Passwörter kennen?

Ja, das ist etwas Arbeit :)
 

Joob

Top Contributor
Die Kästen sind gehostete Server.
Auf die Clientserver greifen die User zu und zwar immer geschlossene Gruppen.

Ich sehe ein das Bild ist äußert missverständlich.

Die Clientserver sind Schulen, auf diese greifen die Schüler und Lehrer zu.
Der Headerserver ist für den Datentausch zwischen den Schulen.

Ich denke jetzt ist es klar was ich bezwecke.
Ich möchte Konzepte wie Loadbalance und verteilte Datenbanken vermeiden
und die Daten der einzelnen Schule immer auf einem Server behalten
ohne auf einen gewissen Austausch zwischen den Schulen zu verzichten.
 

LimDul

Top Contributor
Klarer ja, aber nicht besser. Du brauchst wirklich das vollständige Bild aufgeschrieben und konzeptioniert. Und ja, das wird vielleicht mal 1-2 Stunden Kosten das sauber aufzuschreiben.

Mir ist nicht immer noch nicht klar, warum da Passwort für irgendwelche DBs auf den Client gehört. Warum muss der Server das Passwort vom Client bekommen? Warum kann er es nicht vom Header-Server bekommen oder direkt kennen? Das ist keinen Deut klarer geworden.
 

Joob

Top Contributor
Ich scheue auf keinen Fall die zwei Stunden Arbeit, aber ich weiß nicht wie ich es darstellen soll.

Momentan bekommen die Clients einen verschlüsselten String vom Headerserver,
welcher auf dem Client zur Laufzeit aufgelöst wird.

Mit diesen Daten wird dann entsprechend auf die Server zugegriffen.
Also ein ClientPC bekommt die Zugriffdaten für seinen ClientServer und den HeaderServer.
Aber das ist ja das falsche Konzept.

Ich weiß aber nicht was Ihr vorhabt. Es ist ja nicht so das ssh mit Public und Private Key nicht kennen würde,
musste ich ja auf den Server für https verwenden, ich weiß nur überhaupt nicht wie ich das
für meinen Fall nutzen könnte um meine Probleme zu lösen.
 

Joob

Top Contributor
Ich habe versucht das alles zu verstehen.

Momentan bin ich an dem Punkt das ich vom Client PC den Zugriff auf den Client Server per PublicKey mache.
Dann bin ich im UserAccount und kann auf die PHP Scripts zugreifen.
Das wäre dann der einzige Schlüssel beim Client.
Mit dem Schlüssel könnte ich auch per SFPT Dateien vom ClientServer auf den ClientPC laden und speichern.

Der DBZugriff auf den HeaderServer würde vom ClientServer aus passieren.
Wieder mit einem SSH PublicKey auf den UserAccount des Headerservers.

Der Weg wäre dann ClientPC aktiviert ein PHP Script auf dem ClientServer.
In diesem Script wird ein https Connect auf den HeaderServer ausgeführt und das Ergebnis über den
ClientServer an den ClientPC zurückgegeben.

Das kann ich mir noch vorstellen.

Was ich mir aber überhaupt nicht vorstellen kann ist wie ich Dateien vom ClientPc über den ClientServer vom HeaderServer
laden kann und umgekehrt.

Aber bevor ich mich weiter versteige will ich erst mal warten ob das schon alles Unsinn ist.



1643137994891.png
 
M

Mart

Gast
Dann bin ich im UserAccount und kann auf die PHP Scripts zugreifen.
nein... dein Client frägt bei einem server an ob er das ergebnis der DB anfrage theoretisch haben darf... der server entscheidet dann ob derjenige das haben darf und der startet das dann.. dem client hat es nichts anzugehen wie dein backend aufgebaut ist
 

Joob

Top Contributor
Ich weiß nicht was Du meinst.
Am Ende brauche ich für die Abfrage auf die DB ein PHP Script.
Und diese wollte ich das User Verzeichnis auf dem Server legen.
Aus diesem Grunde muss ich mich doch erst mal auf dem Server anmelden.
Zielst Du auf die Berechtigungen des PHP Scripts auf dem Server ab ?
 
M

Mart

Gast
ich lasse mir das Login von laravel mit breeze managen... da sowas "sicher" selber zu bauen erstens schwer ist , und man muss immer darauf achten dass es auch wirklich sicher abläuft

mit der Begründung => die die ein login system zustande bringen werden schon ne ahnung davon haben

EDIT: zusätzlich ist sicherheit nich mein spezial gebiet... um gottes willen... was ich "gemacht" habe hat nicht wirklich viel bedeutung

was halt wichtig ist ist single source of truth dh alles was vom client kommt ist erstmal schwachsinn und nur dein server erkennt obs sinn ergibt oder nicht
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Frage zu System.in Allgemeine Java-Themen 3
KonradN Mal eine Frage zu Binary Serialization Allgemeine Java-Themen 15
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
8u3631984 Frage Performance bei Linked List und Array List Allgemeine Java-Themen 5
H Frage regex greater than less than Allgemeine Java-Themen 7
berserkerdq2 Frage zu IntelliJ und JavaFX Allgemeine Java-Themen 1
W Timer Konzept-Frage Allgemeine Java-Themen 16
T Eine Frage des Designs Allgemeine Java-Themen 2
C Frage zu eigenem TableCellRenderer Allgemeine Java-Themen 11
C Programmvorstellung & Frage zum Thema Geschäftsform Allgemeine Java-Themen 51
molat100 wie kann man die Frage beantworten Allgemeine Java-Themen 1
pkm Frage zur Präzision von Calendar.WEEK_OF_YEAR Allgemeine Java-Themen 12
J Eine Frage zu den Threads und Task Allgemeine Java-Themen 1
pkm Frage nach eventuellem syntaktischen Zucker bei der Konkatenation von ArrayLists Allgemeine Java-Themen 4
M Frage-Antwortspiel wie Wer wird Millionär Allgemeine Java-Themen 1
marcooooo Frage zum Beispiel im Anhang Allgemeine Java-Themen 16
T Meine Frage lautet wie ich 2 CSV Dateien miteinander in Java verbinde und Spalten die zueinander gehören durch den gleichen Key zusammen ausgebe? Allgemeine Java-Themen 5
S Noch eine Design-Frage zu Setter Allgemeine Java-Themen 6
B For-Loop Frage Allgemeine Java-Themen 21
L Java frage Allgemeine Java-Themen 3
bueseb84 Frage zu Mock und UpperBound Allgemeine Java-Themen 2
M Frage zum Konstruktor Allgemeine Java-Themen 2
W Best Practice Frage zur Umsetzung MVC Allgemeine Java-Themen 9
P String-Verschlüsselung - Frage zur Sicherheit Allgemeine Java-Themen 21
B Frage zu Unit-Tests Allgemeine Java-Themen 6
T Allgemeine Frage: GUI für 3D-Visualisierung Allgemeine Java-Themen 5
R Allgemeine Frage zu RMI bei MVC Allgemeine Java-Themen 2
O Frage zum Runtimeverhalten von Java ... Allgemeine Java-Themen 2
H Rundreise frage (Algorithmus) Allgemeine Java-Themen 18
B Generelle Frage bei einer Webanwendung / Reduzierung von DB Abfragen Allgemeine Java-Themen 1
D Frage zu Vererbung Allgemeine Java-Themen 5
J Frage zu regulärem Ausdruck Allgemeine Java-Themen 2
M Allgemeine Frage: Wie lernt man Java / Programmieren von Grund auf? Allgemeine Java-Themen 7
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
S Frage zur JLS Allgemeine Java-Themen 0
J Verständnis Frage zur Instanz, Objekte, Instanzierung, Referenz Allgemeine Java-Themen 14
A Methoden Allgemeine Java Frage Allgemeine Java-Themen 3
E String Frage Allgemeine Java-Themen 9
I bin neu bei GitHub, Frage zur Sicherheit Allgemeine Java-Themen 14
C J2V8 NodeJs Java Bride Problem und Frage!?!? Allgemeine Java-Themen 1
C KeyListener Frage Allgemeine Java-Themen 3
T Frage zu UML in Java programmieren Allgemeine Java-Themen 1
R Konstanten initialisieren - FRAGE Allgemeine Java-Themen 3
MTJ004 FTP Frage zu FTP Speicherung Java-Android-FTP Allgemeine Java-Themen 5
J Frage zum Entwurf / json-Datenmodell Allgemeine Java-Themen 8
A Frage zu meinem Code Allgemeine Java-Themen 2
RalleYTN Classpath Nur ne kleine Frage zur MANIFEST.MF Allgemeine Java-Themen 4
T Frage zu Access Modifiers Allgemeine Java-Themen 6
W Input/Output Frage zu pdfbox und FileUtils Allgemeine Java-Themen 2
O Frage zur Implementierungsweise Allgemeine Java-Themen 4
B Frage zu Bitshift Allgemeine Java-Themen 3
J Java Zufallsgenerator (6 aus 49) Frage Allgemeine Java-Themen 7
L Frage zu RIA und GWT Allgemeine Java-Themen 0
P Concurrency Frage Allgemeine Java-Themen 8
M Frage zu Enumerations Allgemeine Java-Themen 2
F Unlimited Strength Policy. Frage Verbreitung der Anwendung Allgemeine Java-Themen 1
F Frage zur Library JTS Allgemeine Java-Themen 5
S Java Design Frage Allgemeine Java-Themen 10
E Reflection? Frage Allgemeine Java-Themen 4
C FileInputStream frage Allgemeine Java-Themen 6
G Polymorphie Programmdesign Frage Allgemeine Java-Themen 20
Uzi21 Frage zu NetBeans ( Console) Allgemeine Java-Themen 11
D Classpath Frage zum Java Resource Loading Allgemeine Java-Themen 2
G Frage zu JPA Allgemeine Java-Themen 1
S Methoden Frage Allgemeine Java-Themen 2
P MVC - Frage zu Model Allgemeine Java-Themen 4
K Frage zu Locks Allgemeine Java-Themen 1
S Frage zu abstract Allgemeine Java-Themen 5
M ArrayList<String> Frage Allgemeine Java-Themen 7
M OOP Design Frage Allgemeine Java-Themen 2
N Frage zur while-Schleife Allgemeine Java-Themen 18
T Best Practice Auslesen von Zeichenketten (Frage, Antworten, usw) Allgemeine Java-Themen 4
C Eine Frage zur Bearbeitungszeit Allgemeine Java-Themen 8
H Frage wegen Heap-Speicher Allgemeine Java-Themen 2
T Garbage Collection Frage Allgemeine Java-Themen 15
P Kurze Frage: aus einer File die Zeilenanzahl auslesen Allgemeine Java-Themen 9
D Frage zu Java und Umlauten / charsets Allgemeine Java-Themen 2
B Frage zu Java und OpenGL? Allgemeine Java-Themen 3
Q Kapselung Allgemeine Design- Frage Allgemeine Java-Themen 8
A eine test thread.join() frage Allgemeine Java-Themen 2
DStrohma LayoutManager Frage zum GridBagLayout Allgemeine Java-Themen 4
F Frage zu Regex möglich Allgemeine Java-Themen 4
H XML-File mit Java erzeugt Frage Allgemeine Java-Themen 10
D Frage und Antwort Programm, Problem bei Methodenaufruf Allgemeine Java-Themen 3
J NetBeans Frage bezüglich der Scanner-Klasse Allgemeine Java-Themen 6
H Java Vector Frage Allgemeine Java-Themen 9
W Frage... Allgemeine Java-Themen 29
R Frage zur topologischen Sortierung Allgemeine Java-Themen 2
H Frage zu weka.core.Instance Allgemeine Java-Themen 3
Y Kleine Frage zu String.split Allgemeine Java-Themen 3
T Frage zu Klassendesing Allgemeine Java-Themen 3
W Frage zu Refactoring statischer Methoden Allgemeine Java-Themen 4
C Eclipse Wichtige frage Allgemeine Java-Themen 5
H Frage zu java.weka.core.Instances Allgemeine Java-Themen 3
S Frage zu Format Modifiers in Log4j Allgemeine Java-Themen 11
H Frage zu clone() Allgemeine Java-Themen 5
4 Simple(?) Frage zu Threads Allgemeine Java-Themen 14
H2SO3- SCJP Chapter 3 Frage 10. Falsche Antwort? Allgemeine Java-Themen 15
H Frage sinnvolle Datenspeicherung und -verarbeitung Allgemeine Java-Themen 3
EnHancEd[] kurze enum-Frage Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben