Applet -> PHP = Dateien schreiben

Status
Nicht offen für weitere Antworten.

8ull23y3

Bekanntes Mitglied
Problem: Wie kann ich etwas von einem Applet aus (welches nicht signiert ist) in eine Datei schreiben?

Meine Lösung( mit Anregung von Bleiglanz und Grizzly :D ) :

Der Java-Quellcode von applet.class:
Code:
import java.applet.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;

public class schreiben
extends Applet
implements ActionListener
{
// Variablen
TextField tf;
Button bu;
// Ende Variablen

public void init() {
setLayout(new BorderLayout());
// Komponenten
tf = new TextField("");
bu = new Button("schreiben");
bu.addActionListener(this);
//Ende Komponenten
this.add(tf, BorderLayout.CENTER);
this.add(bu, BorderLayout.SOUTH);
}

// Ergeignisse
public void actionPerformed(ActionEvent aevt) {
try {
URL home = getCodeBase();
String url = home.toString()+"php.php?var1="+tf.getText();
getAppletContext().showDocument(new URL(url));
} catch(Exception x) {}
}
// Ende Ergeignisse
}

Der PHP-Quellcode von php.php:
Code:
<APPLET CODE="applet.class" WIDTH="600" HEIGHT="450">
<?php
$var1 = $HTTP_GET_VARS["var1"];
$datei = fopen("datei.txt", "a");
fputs($datei, $var1);
fclose($datei);
?>

Im obigen Applet wird -
- mit URL home = getCodeBase(); das Verzeichnis des Applets herausgefunden.
- ein String erzeugt wo home in eine String geparst wird, der Name des PHP-Scripts angegeben wird, welches geladen werden soll, der Text aus dem Textfeld geholt und an die URL des PHP-Scripts angehängt.

Im PHP-Script werden die Variablen einfach mit der Methode $HTTP_GET_VARS reingeholt und könne dann weiter verarbeitet werden.

So, hoffe das hilft irgend jemandem mal weiter :D

Vielen Dank nochmals an Bleiglanz und Grizzly
 

dotlens

Top Contributor
hmmm.
wenn ich das richtig verstehe kann man das ja jetzt ausnutzen!!
der User klickt auf einen Link um das Applet runterludaden. gleichzeigtig kommt ein php.php mit runter. und sobald der user das Applet started kannst du mit der php datei alles machen was du willst ohne das Applet signieren zu lassen?!?

oder hab ich das falsch verstanden? die php datei mus jedoch lokal sein, stimmts?
 

Bleiglanz

Gesperrter Benutzer
@dotlens

nein, die php liegt auf dem Server, könnte auch ein Servlet sein; im Prinzip kanns du text im Applet editieren, dann drückst du auf Speichern

-> text wird zum server übertragen und vom php skript am server (!) ins dateisystem gelegt

für ne musterlösung würde ich das ganze aber

in einen POST packen (wegen er Längenbegrenzung beim GET)

auf die Sonderzeichen aufpassen (URLEncoder)

einen Pseudosicherheitsmechanismus einbauen (sonst ruf ich das Skript direkt auf und lege eine leere Bierflasche auf die F5-Reload taste...)
 

dotlens

Top Contributor
ach so geht das. Danke euch beiden

coole sache :D

EDIT:
wenn jetzt jemand einen apache hat. kann man ihn dann so austricksen? wenn er das applet ausführt eine php datei runterladen. ev in temp? und diese dan ausführen? oder geht das mit dem ausführen nicht, da das file nicht auf dem localhost liegt?

sorry. hab nicht viel ahnung von php. aber hat jetzt gleich mein intresse geweckt ;)

EDITEDIT:
frage zurückgezogen
 
G

Guest

Gast
Hi Bleiglanz das musst du mir nochmal erklären was du meinst.
Mit POST hab ichs noch nicht ausprobiert. Gib mal bittel n Beispiel!

dotlens ich versteh immernoch nicht was du vor hast.
Wie Bleiglanz schon sagt... PHP ist ne Serverseitige geschichte ohne nen Webserver der PHP unterstützt läuft auch das PHP-Script nicht. Das Applet siehst du wenns in der PHP drin steht aber mehr auch nicht.
 

Bleiglanz

Gesperrter Benutzer
mit get bist du auf 1500-2000 Zeichen beschränkt, hängt vom Browser ab

dein Applet sollte einen Post-Request zusammenbasteln und diesen an das php-Skript am Server absenden (einfach weil dann die lästige Längenbegrenzug wegfällt)

ausserdem:

wenn der Text zufällig ein "bla bla&aber=nochwas" enthält, wird was abgeschnitten

usw. usw
 

Grizzly

Top Contributor
Um den Schwierigkeitsgrad noch etwas zu erhöhen:

Das die Seite neu geladen wird bzw. eine andere Seite geladen wird - je nach dem - ist doch noch relativ unpraktisch. Am Besten wäre es, wenn das Applet direkt die URL ansprechen würde - also nicht über den Kontext des Applets. :)
 

8ull23y3

Bekanntes Mitglied
Das ich mit GET auf die Zeichnbeschränkung der URL stoßen kann ist mir schon klar nur wie soll ich einen POST-Request an die PHP Datei schicken? Keine Ahnung wie ich das machen könnte weil ich nicht genau weiss wie ich die Dateien in den Request verpacken soll bzw. wie der POST zum Script kommt. Hm... hoffe das verstehst du!
Hast nicht n Beispiel auf Lager? Wäre sehr nett.

Wie ist das gemeint das das Applet direkt die URL ansprechen soll? Bin ja schonmal froh das ichs überhaupt hin bekommen habe ne Datei zu schreiben.
 

Grizzly

Top Contributor
Bspw. über eine URLConnection. :)

Wenn man eine URL hat, kann man ja mit der Methode openConnection() eine Verbindung zu der URL aufbauen.
Noch besser ist natürlich eine HttpURLConnection.

Allerdings habe ich das mit einem Applet bisher noch nicht probiert. Ich weiss also nicht, was der SecurityManager dazu sagt.
 

8ull23y3

Bekanntes Mitglied
Puh diesess Applet Sicherheitsgeedönse geht mir mächtig auf den zwirn. Jatz kann ich nicht mal ne Socket-Verbindung zu ner anderen IP machen. Ich werd bekloppt. Von wegen ne Anwednung nur für WEB portiert. Sch... ist das. Schonwieder n Umweg u mit PHP. Krieg das Kotzen echt. Kannst du vielleicht mal Code Beispiel posten? Hab das noch nei gemacht mit URLConnection
 

8ull23y3

Bekanntes Mitglied
Also auf Anregung von Illuvator sollte vielleicht erwähnt werden das das verwendete $HTTP_GET_VARS[""]; schon veraltet ist ich habs so geschrieben um sicher zu stellen das es auch mit alten PHP Versionen funktioniert die es ja immer mal geben kann.

Die Abgekürzte Version sieht folgendermaßen aus...

im PHP-Script
Code:
$var1 = $HTTP_GET_VARS["var1"];
in
Code:
$var1 = $_GET["var1"];
änder das müsst es gewesen sein. Sorry
 

Bleiglanz

Gesperrter Benutzer
noch besser ist
Code:
$var1 = $_GET['var1'];
ist ne trilliardstel sekunde schneller und etwas klarer, weil die einfachen hochkommas nicht ausgewertet werden ($xxx)
 

8ull23y3

Bekanntes Mitglied
Auch wieder richtig... Sorry hab nicht dran gedacht. Aber das mit der URL Connection hab ich immer noch nicht hin bekommen.
 
S

Spacerat

Gast
Der Security-Manager ist das Problem!

Habe das dargestellte Problem von dem Link mal ausprobiert und bekomme folgendes (mal wieder!):
java.security.AccessControlException: access denied (java.net.SocketPermission domainname.geaende.rt resolve)
Hab' schonmal wegen selbigen Problem an anderer Stelle zu kämpfen:
http://www.java-forum.org/de/viewtopic.php?t=10483

@EDIT 15.01.2005:

Code:
URL home = getCodeBase(); 
String url = home.toString()+"php.php?var1="+tf.getText();

Ich hab's grade bemerkt... In diesem Fall kann das mit der Connection warscheinlich auch deswegen nicht Klappen.

Richtig wäre:
Code:
URL home = getCodeBase();
String url = new URL(home, "php.php?var1="+tf.getText()).toString(); //oder besser .toExternalForm();

Der Fehler wird auch sehr gerne genommen, weil man ständig vergisst, das jede URL unbedingt einen Dateinamen hat (oder bekommt), so das aus "home.toString()" stets "http://top.Level.domain/verzeichnis/applet.class" wird. Den Dateinamen-Teil der URL kann man mit URL neu = new URL(URL alt, String neuerDateiname) ändern. Ein anschliessendes toString() ergibt einen unformatierten Text und toExternalForm() einen auf die im Betriebssystem verwendete Codepage abgestimmten String (oder war's URLEncoded? k.A. mal nachlesen...).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Dateien mit Applet schreiben/lesen (lokal) Tools - Maven, Gradle, Ant & mehr 3
P Applet - WAV-Dateien werden nicht abgespielt Tools - Maven, Gradle, Ant & mehr 6
Z Mit JFileChooser per Applet Dateien auf dem Server auswählen Tools - Maven, Gradle, Ant & mehr 4
B Applet: com.sun.deploy.security.BlockedException :-( Tools - Maven, Gradle, Ant & mehr 0
M Applet Applet legt Browser lahm Tools - Maven, Gradle, Ant & mehr 3
J Applet Aus anderer Browserinstanz Applet abfragen Tools - Maven, Gradle, Ant & mehr 2
P Linux Applet/Webstart Schriftunterschiede Tools - Maven, Gradle, Ant & mehr 3
E JMol -Applet Einbindung Tools - Maven, Gradle, Ant & mehr 0
T Applet Applet und IText wirft Incompatible magic value 1008813135 Fehler Tools - Maven, Gradle, Ant & mehr 6
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
P Applet Applet Signatur auf Server mit SSL-Zertifikat? Tools - Maven, Gradle, Ant & mehr 7
H Applet Applet wird nicht angezeigt Tools - Maven, Gradle, Ant & mehr 2
M Applet Applet funktioniert in Google Chrome nicht Tools - Maven, Gradle, Ant & mehr 2
O Applet "Anwendung kann nicht ausgeführt werden" Tools - Maven, Gradle, Ant & mehr 6
Q Applet Fehlermeldung bei Applet-Wechsel Tools - Maven, Gradle, Ant & mehr 4
T Daten per POST-Methode aus Java-Applet nach php-Script senden Tools - Maven, Gradle, Ant & mehr 3
R Applet friert Adresszeile des Firefox ein Tools - Maven, Gradle, Ant & mehr 2
K Applet als Jar-Datei in HTML einbinden Tools - Maven, Gradle, Ant & mehr 14
H Applet-Fehlermeldung Tools - Maven, Gradle, Ant & mehr 10
H Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 3
Q Applet Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 14
J Applet URL mittels TTS als Applet lesen lassen Tools - Maven, Gradle, Ant & mehr 40
F Applet verwischt, wenn Seite gescrollt wird Tools - Maven, Gradle, Ant & mehr 16
S Applet Applet mit C# öffnen: java.lang.SecurityException: Permission denied (WinXP) Tools - Maven, Gradle, Ant & mehr 8
J Applet-Quellcode einsehen Tools - Maven, Gradle, Ant & mehr 6
E Applet Applet und Datenbank Konzept Tools - Maven, Gradle, Ant & mehr 4
A Applet: Html Datei und Class Datei nicht im selben Verzeichnis Tools - Maven, Gradle, Ant & mehr 2
S Applet soll Textdatei von fremdem Server öffnen Tools - Maven, Gradle, Ant & mehr 8
E Java Applet bearbeiten Tools - Maven, Gradle, Ant & mehr 8
Quasar Wie signiere ich mein Applet richtig? Tools - Maven, Gradle, Ant & mehr 6
M mit Applet Javascript Aufrufen Tools - Maven, Gradle, Ant & mehr 2
S Applet and stop() method und gui blocked Tools - Maven, Gradle, Ant & mehr 4
A Applet Applet startet nach Einbinden auf Website nicht Tools - Maven, Gradle, Ant & mehr 4
A Applet, xxx.jar und hsqldb Tools - Maven, Gradle, Ant & mehr 4
T Webstart oder Applet Tools - Maven, Gradle, Ant & mehr 2
H Applet applet neu laden im browser Tools - Maven, Gradle, Ant & mehr 10
M Applet neustart Tools - Maven, Gradle, Ant & mehr 5
S Applet request unter Linux Tools - Maven, Gradle, Ant & mehr 14
S Applet GUI nicht im Webbrowser sichtbar Tools - Maven, Gradle, Ant & mehr 5
S Mittel Applet Datei an ein Webserver übertragen Tools - Maven, Gradle, Ant & mehr 2
M Applet in ClientServer J2EE Anwendung debugen Tools - Maven, Gradle, Ant & mehr 6
H Java Applet Problem beim einbinden in HTML Tools - Maven, Gradle, Ant & mehr 3
M Java3D Applet flackert wenn ein Button(HTML) gedrückt wird Tools - Maven, Gradle, Ant & mehr 11
S Policy mit Signiertem Applet verteilen Tools - Maven, Gradle, Ant & mehr 9
F Applet findet include nicht Tools - Maven, Gradle, Ant & mehr 15
L PHP + Java Applet Kommunikation Tools - Maven, Gradle, Ant & mehr 9
C Probleme mit Applet mit SQL im Browser Tools - Maven, Gradle, Ant & mehr 4
G Java-Applet Probleme beim Browser Tools - Maven, Gradle, Ant & mehr 14
G Textfile in Applet laden möglich? Tools - Maven, Gradle, Ant & mehr 2
A Java-Applet Sandbox deaktiviren? Tools - Maven, Gradle, Ant & mehr 2
B Java-Applet geht nicht (auf dem Webserver) Tools - Maven, Gradle, Ant & mehr 9
P Applet läuft nicht in Browser Tools - Maven, Gradle, Ant & mehr 21
V JAR-Datei eines (J)Applet funktioniert nicht - Help! Tools - Maven, Gradle, Ant & mehr 19
S Java Applet per Klick starten? Tools - Maven, Gradle, Ant & mehr 6
S Applet geht nicht Tools - Maven, Gradle, Ant & mehr 25
J Applet signieren Tools - Maven, Gradle, Ant & mehr 2
H Applet - Geschicklichkeitsspiel programmieren Tools - Maven, Gradle, Ant & mehr 16
U Jar funktioniert nicht als Applet Tools - Maven, Gradle, Ant & mehr 3
C Applet Frage Tools - Maven, Gradle, Ant & mehr 4
M Java Applet - enforce use of older JRE Tools - Maven, Gradle, Ant & mehr 3
N Wie Java-Programm zu Applet machen?! Tools - Maven, Gradle, Ant & mehr 2
W Webseite aus Applet öffnen Tools - Maven, Gradle, Ant & mehr 3
lumo Applet - resize Tools - Maven, Gradle, Ant & mehr 7
Icewind Applet reagiert nach neu laden der Webseite nicht mehr verlässlich auf KeyEvents Tools - Maven, Gradle, Ant & mehr 6
R Applet mit MySQL Tools - Maven, Gradle, Ant & mehr 3
A jar datei trotz zertifikat nich aus applet ausführbar Tools - Maven, Gradle, Ant & mehr 4
F Fehlende Applet Rechte Tools - Maven, Gradle, Ant & mehr 12
N [Applet] Button wir nach 5 secs Unsichtbar Tools - Maven, Gradle, Ant & mehr 2
N jar -> applet wie setzt man das am leichtesten um Tools - Maven, Gradle, Ant & mehr 7
V applet Java 1.6 -> 1.5 Problem ... wie mit Ant zu lösen? Tools - Maven, Gradle, Ant & mehr 7
F applet als JAR -> AccessControlException Tools - Maven, Gradle, Ant & mehr 3
grudge File in Applet laden Tools - Maven, Gradle, Ant & mehr 4
E Java Applet - Double Buffering Problem (Flackern) Tools - Maven, Gradle, Ant & mehr 6
R Applet mit bestimmter JRE ausführen Tools - Maven, Gradle, Ant & mehr 9
traysa Wie binde ich ein applet in eine jsp Tools - Maven, Gradle, Ant & mehr 3
D Mit dem Applet das DOM manipulieren? Tools - Maven, Gradle, Ant & mehr 3
ABstraCT Applet getCodeBase() Zugriff auf darüberliegendenden Ordner ? Tools - Maven, Gradle, Ant & mehr 1
S Java-Applet Steuerung IO Karte am Drucker-Port Tools - Maven, Gradle, Ant & mehr 4
P URL aus Applet öffnen? Tools - Maven, Gradle, Ant & mehr 7
ABstraCT Mit Applet in ne Datei auf seinem Server schreiben. Tools - Maven, Gradle, Ant & mehr 10
E Verzögerung beim Refresh (F5) mit einem Applet verursachen Tools - Maven, Gradle, Ant & mehr 16
deetee Applet Frage Tools - Maven, Gradle, Ant & mehr 2
S Fehler in einem Upload - Applet (nicht gelöst!!) Tools - Maven, Gradle, Ant & mehr 2
G Variable an zweites Applet übergeben Tools - Maven, Gradle, Ant & mehr 3
M Dringend: Sehr kompliziertes Applet Problem Tools - Maven, Gradle, Ant & mehr 4
O Javascript kommuniziert mit Applet? Tools - Maven, Gradle, Ant & mehr 2
H Spracherkennung mit Applet / Policy bzw. Security Fehler Tools - Maven, Gradle, Ant & mehr 2
zilti Nerviger Hinweis bei Applet- und WS-Fenstern - wieso? Tools - Maven, Gradle, Ant & mehr 3
S Datei-/Verzeichniszugriff von signiertem Applet Tools - Maven, Gradle, Ant & mehr 6
G Signiertes Applet installieren? Tools - Maven, Gradle, Ant & mehr 3
G Applet mit Parameter aus JavaScript Tools - Maven, Gradle, Ant & mehr 5
A Applet Maus Koordinaten ohne MouseMotionListener Tools - Maven, Gradle, Ant & mehr 3
K Applet in Eclipse funktioniert, im Browser nicht Tools - Maven, Gradle, Ant & mehr 7
T Applet soll Java Programm starten Tools - Maven, Gradle, Ant & mehr 2
S Applet pai.nt? Tools - Maven, Gradle, Ant & mehr 3
S Applet und File-Object? Tools - Maven, Gradle, Ant & mehr 9
T Applet soll Datei lesen (darf es aber nicht.) Tools - Maven, Gradle, Ant & mehr 3
P Java-Applet funktioniert unter WINXP nicht Tools - Maven, Gradle, Ant & mehr 2
N Java 1.6 Applet auf älteren Versionen ausführbar? Tools - Maven, Gradle, Ant & mehr 4
G Signiertes Applet prüfen? Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen


Oben