Seite 1 von 2

Daten per Internet versenden

Verfasst: 07.05.2007 12:36
von Xaby
Hallo Fans,

Stellt euch mal was vor.

Ihr habt ein Programm. Sagen wir eine Art Bildbearbeitungsprogramm.

Ihr habt ein Bild bearbeitet und wollt es nun mit einem Bekannten tauschenn.

Besten Möglichkeit wäre doch Email.


Aber nun kommt's. Beide Benutzer brauchen das Programm nicht zur selben Zeit an haben. Also kein Pear to Pear.
Die Daten werden am besten per Server irgendwo zwischen gespreichert.
Wie bei ICQ oder halt Emails.

Nur die beiden dürfen auch an die Daten ran kommen.

Und es sollte kein Hilfsprogramm dazu nötig sein.


So ähnlich wie die HighScore-Liste von Stargate vielleicht.
Nur, dass sie nicht jeder sehen kann.

Oder per Mail. Aber wenn man Emails abholt, sollte nur die Email mit dem wichtigen Inhalt (den das Programm verarbeiten kann) und nicht die anderen abgeholt werden.

Und es sollte vermieden werden, dass andere Emailprogramme diese Daten vorher abholen und damit mein Programm keine neuen Nachrichten mehr erhält.

Email wäre in sofern gut, dass man die Rechterverwaltung dem Email-Postfach Anbieter überlässt. Auch die Anmeldungsdaten etc.

Man braucht auch keinen eigenen Webspace, der vielleicht gehackt wird und dann Kosten durch Schäden entstehen.


>>Wie kann man also sicher zwischen zwei Rechnern Daten übertragen?
Ohne, dass die beiden gleichzeitig online sein müssen?



>> Wer mag, kann auch 5 Zeilen Quellcode dazu schreiben, so dass man es selbst vielleicht auch ausprobieren kann.

- ich hätte Websapce mit PHP
- Email-Account(s) (web.de gmx, hotmail ...)

(- ICQ, das wäre ja ein Zusatzprogramm, bzw. der Nutzer müsste dort einen Account haben, wegen der eindeutigen Nummer)

Dank euch, Gruß Folker :allright:

Verfasst: 07.05.2007 14:56
von STARGÅTE
Das ganze durch ein Passwort zu schützen ist theoretisch nicht schwer, da ja hier wirklich nur ihr beide wisst um was es überhaupt geht. Denn bei meinem HighScore können ja alle sehen was passiert und gesendet wird.

Man könnte also das Bild als Include in eine php Datei hauen und dann vorher abfragen was für Daten mitgeschick wurden :

Code: Alles auswählen

<?php
 if ($_GET['Passwort']=="LaberLaber")
  {
  echo '
  // hier wäre das eingebundene Bild
  ';
  }
und das Passwort kann ja ein einfaches Wort sein das ihr euch beide ausgemacht habt. Denn das Wort wird ja dann immer nur zwischen euch verschickt.

Der Hochlader muss also sein Bild in diese PHP einbinden und dann nu die PHP hochladen.
Und der Downloader muss die richtige URL aufrufen damit er das Bild als CODE bekommt und dnan laden kann. (http://....Bild?Passwort=LaberLaber)


Ist vllt nicht die besste Möglichkeit, aber es ist eine, denke ich.

Verfasst: 07.05.2007 15:27
von Xaby
Gut.

Sagen wir, wir nehmen mal was einfacheres. Ein kein Bild. Erstmal eine Textzeile.

>> PB-Programm: EingabeText (Stringgadget oder Console ...)

-> Versandt über Domain mit PHP

>> PB-Programm: Ausgabe des Textes ...

...

Die ganze Sache für mehrere Benutzer.

Sagen wir jeder hat eine eindeutige Email oder einen eindeutigen Nick.


Wenn ich dir jetzt einen Text senden möchte übder das Programm.
Den nur du lesen können sollst. Dann brauch ich deine Email für die Identifizierung. (Und du meine für's Empfangen.)

Bei ICQ geht es doch auch ohne Passwörter oder?

Zu mindest nicht für jede Dateil. Es muss nur sichergestellt werden, dass Stargate auch Stargate ist. Und dafür würde man einen Schlüssel (Passwort) benötigen.

Hättest du Lust, ein kleines Chat-Programm auf Basis von PB und PHP zu realisieren.

Die Daten sollten auch nach erhalt wieder vom Server gelöscht werden.
Oder jeder bekommt sagen wir:

256 Byte für seinen String zur Verfügung gestellt. Und es darf maximal 100 ausgewählte benutzer geben.

Am einfachsten wäre eine Registrierung über Email.

Jeder, der mit machen möchte, gibt bei seinem PB-Programm seine eindeutige Email an und bekommt. Eventuell auch eine Schlüsselnummer.

Das Programm braucht ja nun nicht viel können.

> Email des Empfängers.
> zu sendender Text
> Absender: Email-Adresse + Schlüssel (wie in deiner Highscore-Liste)

Der Schlüssel dient dazu, dass nicht jeder das Mail-System benutzen kann.
Spam oder andere Software, die den Webspace blockieren.

Dass man sich nicht als Empfänger ausgeben kann, braucht man den gleichen Schlüssel, den man auch beim senden benutzt.
Der in der Email stand.


Und das mit dem Schlüssel funktioniert genau wie bei deiner Highscore.
Nur dass man einen Schlüssel benötigt, den kann man ja dann als Textdatei oder so auf dem eigenen Rechner ablegen.

Es müssen dann folgende Dinge gesendet werden:

Empfänger-Email
Nachricht
Sende-Email
Schlüssel für SendeEmail
Schlüssel für alles wie (highscore)

Beim Abrufen

Empfangs-Email
Schlüssel für Empfangsemail-Adresse (gleich der SendeEmail, wenn von hier aus gesendet wird)
Schlüssel für alles.

... irgendwie müsste die Nachricht noch verschlüsselt werden.
PGP wäre cool. Aber das ist wohl zu kostspielig.

Aber ich kenne mich mit PHP überhaupt noch nicht aus.

Ist so was schwer oder hab ich was übersehen?

Es soll auf jeden Fall sicher sein und der Nutzer sollte möglichst keinen Aufwand im Einrichten haben. Und das auch nur einmal machen müssen.

:roll:

Verfasst: 07.05.2007 15:53
von STARGÅTE
Dumme frage, aber ist das dann nicht so ähnlich wie die PN im Forum ?

Da ich DI ABI habe kann ich heute nix mehr machen, mal sehen wann ich DI wieder da bin.

PS: kannst ja mal zu TS kommen dann können wir drüber reden ;-)

Verfasst: 07.05.2007 15:58
von Xaby
Viel Erfolg beim ABI und ein PBler Treffen in Berlin können wir gern machen.

Dank dir im Voraus. Aber so ein Nachrichtensystem wie im Forum ist natürlich eine Überlegung wert.
Da gibt es ja auch vorgefertigte Scripte, die man eigentlich nur noch einbauen muss.

Und das Forum macht man dann nach außen hin einfach nicht sichtbar und zugänglich.

Dank dir für deine Unterstützung und viel Erfolg.

Gruß, Folker :allright:

Re: Daten per Internet versenden

Verfasst: 07.05.2007 16:14
von PureBasic4.0
Xaby hat geschrieben:Also kein Pear to Pear.
Merke: Pear ist die Birne. Eine Birne zu Birne Verbindung habe ich auch noch nie gesehen. :mrgreen: :mrgreen:
Sähe dann wahrscheinlich so aus:
Bild

Du meinst wahrscheinlich Peer to Peer

Verfasst: 07.05.2007 16:22
von Xaby
http://www.dict.cc/?s=pear

Ja, da hab ich wohl einen falschen Buchstaben benutzt in der Eile :mrgreen:

Aber hätte ich es gleich richtig gemacht, hätten wir das schöne Bild ja nie gesehen.

Hast du denn eine Idee, wie mein Problem zu realisieren ist?

:allright:

Verfasst: 07.05.2007 16:30
von PureBasic4.0
Das Bild "zusammenklicken" hat nicht mehr als 3 Minuten gebraucht und ist auch nicht wirklich professionell

Zurück zum Thema:

1. Wenn du ne E-Mail-Alternative schreiben willst, vergiss es! Benutzt eh keiner
2. Ich würde die Daten in eine MySQL-Datenbank speichern, in der auch die Zugangsdaten und Kennwörter stehen.

Abfrage:

Code: Alles auswählen

$user = "xaby";
$SqlString = "SELECT Text FROM Mails WHERE User = '".$user."'";
$rs = mysql_query($SqlString);
while($line=mysql_fetch_array($rs)) {
  $a = $a + 1;
  $Mail = $line["Text"];
  echo "Hier ist die Mail ".$a."\n";
  echo $Mail;
  echo "\n\n";
  echo "-----------------";
  echo "\n\n";
}
die("");
Ungetested, aber so ungefähr dürfte es gehen.

Verfasst: 07.05.2007 17:01
von Xaby
Gut ...

und jetzt noch mal für doofe :?



Mein PB-Code

Code: Alles auswählen

; Autor: Folker Linstedt / xaby
Enumeration
  #MainWin
  
  #was
  #an
  #von
  #pass
  #sende
  #empfange
  
  #nachrichten
EndEnumeration

OpenPreferences("Message.ini")
WinPosX_MainWin.l=ReadPreferenceLong("WINDOW_XPOS_MAIN",50);
WinPosY_MainWin.l=ReadPreferenceLong("WINDOW_YPOS_MAIN",50);
ClosePreferences()


OpenWindow(#MainWin,WinPosX_MainWin,WinPosY_MainWin, 320,200,":: Message ::")
CreateGadgetList(WindowID(#MainWin))
StringGadget(#was,10,5,300,20,"Text")
StringGadget(#von,10,30,140,20,"Eigene Email-Adresse")
StringGadget(#an,10,50,140,20,"An Emailadresse")
StringGadget(#pass,230,30,80,20,"Schlüssel")

ButtonGadget(#sende,160,55,60,20,"Sende")
ButtonGadget(#empfange,225,55,80,20,"Empfange")

EditorGadget(#nachrichten,10,80,300,100)


Repeat

Event= WaitWindowEvent()

If Event=#PB_Event_Gadget
  GadgetNr=EventGadget()
  
  If GadgetNr=#sende
    Debug "Sendezeugs"
    ; Sende Text:
    GetGadgetText(#was)
    GetGadgetText(#von)
    GetGadgetText(#an)
    GetGadgetText(#pass)
    
  EndIf 
  
  If GadgetNr=#empfange
    AddGadgetItem(#nachrichten,-1,"empfangener Text")
    
  EndIf
  
  
EndIf

Until Event=#PB_Event_CloseWindow


CreatePreferences("Message.ini")
WritePreferenceLong("WINDOW_XPOS_MAIN",WindowX(#MainWin))
WritePreferenceLong("WINDOW_YPOS_MAIN",WindowY(#MainWin))

ClosePreferences()


CloseWindow(#MainWin)

Wie muss meine HTML-Datei konkret lauten, die ich auf meine Homepage hochladen müsste und was müsste ich genau an meinem Programm noch verändern.


>> Zu MySQL
Ich kenne mich mit Tabellen aus. Ich weiß, was rationale Datenbanken sind, aber genau mit echten Datenbankbefehlen hab ich noch nichts gemacht.
Es geht auch drum, dass der benötigte Webspace möglichst klein gehalten wird. Und nicht zu viele Daten von einem User auf dem Server sind, damit man keinen Ärger wegen Verletzung der Privatsphäre bekommen kann.

Wenn wir uns beide über dieses System schreiben wollen. Würdest du es doch auch doof finden, wenn ich als Betreiber dein Passwort und eventuell deine Nachrichten lesen kann.

Es sei denn, sie ist an mich gerichtet :mrgreen:

Abgesehen vom Speichern in eine Datei /:->

Verfasst: 09.05.2007 11:36
von Xaby
@Stargate
Wie ist die Prüfung gelaufen. Hoffe, du bist der beste.
Hier bist du ja einer der ganz tollen :mrgreen:

Würd mich freuen, wenn du mich unterstützt und eventuell den ein oder anderen Codeschnipsel mal vorführst.

:allright: