[JAVA] Security Exceptions

Pagina: 1
Acties:

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Hallo allemaal,

Ik heb hier al eerder posts gedaan met vragen over java. Deze betroffen het data importeren uit een tekstbestand. Nu is het de bedoeling dat de (inmiddels werkende) applet online moet komen te staan.

Probleem: Op het moment dat deze ge-upload is en gerunt wordt, krijg ik in de java-console van IE Security Exceptions. Deze zijn eigenlijk vrij logisch, aangezien er een bestand wordt geopend wat niet tot de applet zelf behoord... dat houdt dus in dat je ook andere bestanden van iemand z'n harde schijf zou kunnen openen, wat natuurlijk niet mag :)

Is er een manier om dit probleem te omzeilen zonder de gehele importeer-coding te moeten veranderen? Want ik ben net blij dat 't allemaal werkt.

Ik dacht zelf aan het samensmelten van alle bestanden die met de applet van doen hebben in een archive-file... denk JAR ofzo. Dan blijft alles binnen dit JAR bestand en zou IE (of welke browser dan ook) er geen problemen mee moeten hebben.

--

Kan dit op die manier werken of zit ik helemaal verkeerd te berederen? Plz zeg me niet dat ik opnieuw mag gaan zitten programmeren |:(

Alvast bedankt!

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ik heb een keer een manier gezien om de file te open via een httpinputstream vanaf dezelfde server.

Kweenie of het de makkelijkste manier is.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je kan inderdaad het beste alles wat je nodig hebt verzamelen in een Jar. Je kunt met behulp van getClass().getClassLoader().getResource() een URL krijgen naar je bron (of zelfs direct een InputStream).

Als je de inlees-code op basis van een InputStream hebt geschreven, hoef je dus niets te veranderen, behalve wat initialisatie.

Uiteraard kan je ook een stream openen naar files op de server via HttpURLConnection :) . Jar is wat makkelijker.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Oh ja, jij was inderdaad zo leuk bezig met regels inlezen ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Ja idd, dat was ik :) Goed geheugen man!

Hoe kan ik het makkelijkste zo'n JAR file maken? Ik gebruik nu JBuilder5, maar op het moment dat ik 'save project as' doe en dan dus JAR selecteer, krijg ik een foutmelding als:

-Illegal File Name-
Could not save file: "f:\java\pruts\untitled1.jar" Check file name and extention.

Duidelijk mag zijn dat ik totaal geen ervaring heb met het opslaan als JAR, of de verschillen in aanroepen binnen een html.

Ik sla er de Java Reference nog even op na, maar de vorige keer werd ik daar ook niet veel wijzer van.

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

De meest eenvoudige manier om een jar file te maken, is gewoon op de directory gaan staan, zippen en dan renamen naar jar.

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

een jar kun je maken met javac -jar dacht ik (java kan het ook zijn )

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je kan het zaakje inderdaad gewoon zippen, maar jar werkt ook wel goed. Je kan dus gewoon het commando 'jar' gebruiken. Over het jar file format zijn wel aardige beschrijvingen, kijk maar eens in de tool docs van je SDK.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Wederom bedankt,

Die java reference geeft zeer veel info over JAR files. Overigens zit er in JBuilder een jar-file-wizard. Als je een project open hebt staan, kan je gewoon File, New, Archive Builder doen.

Dan gaat JBuilder ervan uit dat het over het huidige project gaat, en maakt alles wat je nodig hebt (of wat je wilt) voor je aan.

Met die reference ga ik er wel uitkomen denk ik zo... lukt 't niet, dan weet ik de experts te vinden :P

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op zondag 18 november 2001 13:55 schreef Ratch het volgende:
Wederom bedankt,

Die java reference geeft zeer veel info over JAR files. Overigens zit er in JBuilder een jar-file-wizard. Als je een project open hebt staan, kan je gewoon File, New, Archive Builder doen.

Dan gaat JBuilder ervan uit dat het over het huidige project gaat, en maakt alles wat je nodig hebt (of wat je wilt) voor je aan.

Met die reference ga ik er wel uitkomen denk ik zo... lukt 't niet, dan weet ik de experts te vinden :P
Misschien is het een idee om een andere ide dan JBuilder te gebruiken. Het is een veel te complex systeem met een overkill aan functionaliteit. En voor het 'echte' klopwerk is hij niet bepaald geschikt (persoonlijke mening). Misschien kun je eens kijken naar een andere ide zoals:

codeguide (zeer geavanceerde ide voor java, geen freeware)
http://www.omnicore.com

intellij idea (zeer geavanceerde ide voor java, geen freeware)
http://www.intellij.com

of jext
http://www.jext.org (gratis en ook veel gebruikt).

er zijn nog veel meer.. maar dan moet je zelf maar even kijken.

Ik denk als je afstapt van JBuilder dat je sneller inzicht in je code zal krijgen omdat je van het hele wizzard gebeuren afbent van JBuilder. En de andere ide`s werken ook zeker fijner.

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Da's misschien ook een plan :P

Bedankt voor de tips!

---

Toch een vraagje:
Ik heb nu een JAR file (zipped en renamed), en volgens de java reference moet er dan het volgende staan in de html file die 'm aanroept:
code:
1
2
3
4
5
6
7
8
9
10
<html>
<body>
The Applet should appear :)<br>
    <applet code=Applet1.class 
    archive="puzamide.jar"
    width=400 height=300>
    </applet>

</body>
</html>

Toch krijg ik nog steeds een grijs vlak te zien. Moet er een specifiekere referentie naar de class file BINNEN de jar, of gaat dit op deze manier toch niet werken?

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Onno
  • Registratie: Juni 1999
  • Niet online
Op zondag 18 november 2001 14:09 schreef Ratch het volgende:
code=Applet1.class
Ik heb nooit iets met applets gedaan, dus zeker weet ik het niet, maarre.. moet je geen classnaam ipv een bestandsnaam gebruiken?

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Ik heb de applet inmiddels op het scherm. Het probleem was eerst dat als RAR inpakken en renamen, niet helemaal vlekkeloos werkte. Als je de jar.exe gebruik en het op die manier inpakt, vindt ie 'm helemaal goed.

Het probleem blijft echter hetzelfde. In plaasts van de woorden die geimporteerd zouden moeten worden, blijven er null waarden verschijnen. Ik heb de data.txt in elke subsirectory neergezet, dan moet hij iig gevonden worden.

In de java console verschijnt nu echter ook geen andere foumelding meer dan de standaard IOException 'Fout - Bestand kon niet worden geopend', wat er volgens mij wederom op duidt dat er een SecurityException plaatsvindt ondanks de JAR.

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op zondag 18 november 2001 15:07 schreef Ratch het volgende:
Ik heb de applet inmiddels op het scherm. Het probleem was eerst dat als RAR inpakken en renamen, niet helemaal vlekkeloos werkte. Als je de jar.exe gebruik en het op die manier inpakt, vindt ie 'm helemaal goed.

Het probleem blijft echter hetzelfde. In plaasts van de woorden die geimporteerd zouden moeten worden, blijven er null waarden verschijnen. Ik heb de data.txt in elke subsirectory neergezet, dan moet hij iig gevonden worden.

In de java console verschijnt nu echter ook geen andere foumelding meer dan de standaard IOException 'Fout - Bestand kon niet worden geopend', wat er volgens mij wederom op duidt dat er een SecurityException plaatsvindt ondanks de JAR.
Je moet ze ook niet met Rar inpakken, maar met Zip!!! }:O Jar files maken ook gebruik van het zip algoritme

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Ik gebruik nu gewoon die jar.exe die erbij zit... dan weet ik iig zeker dat het werkt. Een studiegenoot (de java-man van vorig jaar) zei namelijk dat juist zip fout was en rar goed... ik weet 't ook niet meer :P

---

Maar dit alles is inmiddels gelukt. Ik heb me er ook bij neergelegd dat ik toch echt streams moet gaan gebruiken. Dat heb ik dan ook gedaan, en wonderbaarlijk genoeg werkt dit nu allemaal binnen JBuilder (ja, dat gebruik ik voorlopig nog even).

De Security Exceptions zijn ook weg, daarvoor in de plaats staat nu het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
java.io.FileNotFoundException: \C:\data.txt
    at java/io/FileInputStream.<init>
    at sun/net/www/protocol/file/FileURLConnection.connect
    at sun/net/www/protocol/file/FileURLConnection.getInputStream
    at java/net/URL.openStream
    at untitled1/Applet1.bepaalWoorden
    at untitled1/Applet1.init
    at com/ms/applet/AppletPanel.securedCall0
    at com/ms/applet/AppletPanel.securedCall
    at com/ms/applet/AppletPanel.processSentEvent
    at com/ms/applet/AppletPanel.processSentEvent
    at com/ms/applet/AppletPanel.run
    at java/lang/Thread.run
java.lang.NullPointerException
    at untitled1/Applet1.bepaalWoorden
    at untitled1/Applet1.init
    at com/ms/applet/AppletPanel.securedCall0
    at com/ms/applet/AppletPanel.securedCall
    at com/ms/applet/AppletPanel.processSentEvent
    at com/ms/applet/AppletPanel.processSentEvent
    at com/ms/applet/AppletPanel.run
    at java/lang/Thread.run

Het gaat dus nu alleen nog om een file-not-found, wat iig geval al stukken positiever is volgens mij. De file data.txt wordt gezocht op C:\
Ik heb mijn test.html en puzamide.jar idd onder de root staan, maar ik heb het gevoel dat ik ergens nog een specifiekere verwijzing moet doen naar dit bestandje.

Dit moeten jullie vaker gezien hebben :P

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 16:32

Kaastosti

Vrolijkheid alom!

Topicstarter
Ik was nog met die JAR file bezig.. maar dat hoeft nu niet meer :D Hij werkt wel als ik 'm niet JAR!

Mag ik iedereen bedanken voor de hulp! Eindelijk klaar :D
WHOHOOO!

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.

Pagina: 1