Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Zugriff verweigert, wenn JDBC von einem Browser-Applet verwendet wird

Applets läuft in einer Umgebung mit sehr restriktiven Sicherheitsregeln. Sie müssen mindestens signieren Ihr Applet.

Aber das Problem ist hier größer, JDBC in einem Applet auszuführen ist eine sehr schlechte Idee. Der Quellcode des Applets ist öffentlich zugänglich und damit anfällig für einfache Hacks. Sie sollten stattdessen einen Webservice dafür erstellen und Ihr Applet stattdessen auf diesen Webservice zugreifen lassen. Mit einem Webservice kann Ihr Applet nur über HTTP-Anforderungen/Antworten Informationen mit der DB austauschen. Mit einem Webservice verbergen Sie die DB-Zugriffsdetails, JDBC- und SQL-Code vor der Öffentlichkeit.

Wie genau ein Webservice erstellt wird, hängt von der Serverumgebung und der verwendeten Programmiersprache ab. In Java EE könnte man dafür beispielsweise bereits ein einfaches Servlet verwenden, aber auch JAX-RS und JAX-WS werden für restful (XML/JSON) bzw. XML-Webservices unterstützt. Ein Applet darf sich ohne Sicherheitseinschränkungen mit seinem Host verbinden, dessen Adresse unter getCodeBase() Z. B.

InputStream response = new URL(getCodeBase(), "servlet?foo=bar").openStream();
// ...