Oracle
 sql >> Database >  >> RDS >> Oracle

accesso negato quando si utilizza JDBC da un'applet del browser

Le applet vengono eseguite in un ambiente con regole di sicurezza molto restrittive. Devi almeno firmare la tua applet.

Ma qui il problema è più grande, fare JDBC all'interno di un'applet è una pessima idea. Il codice sorgente dell'applet è pubblicamente disponibile ed è quindi sensibile a facili hack. Dovresti invece creare un servizio web per quello e quindi lasciare che la tua applet acceda a quel servizio web. Con un webservice, la tua applet sarà in grado di scambiare informazioni con il DB tramite solo richieste/risposte HTTP. Con un webservice nascondi al pubblico i dettagli di accesso al DB, il codice JDBC e SQL.

Come esattamente creare un webservice dipende dall'ambiente del server e dal linguaggio di programmazione utilizzato. In Java EE, ad esempio, potresti già utilizzare un semplice Servlet per questo, ma anche JAX-RS e JAX-WS sono supportati rispettivamente per servizi web riposanti (XML/JSON) e XML. Un'applet può connettersi senza alcuna restrizione di sicurezza con il suo host il cui indirizzo è disponibile da getCodeBase() Es.

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