Eine auf dem Server liegende Datei lesen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Eine auf dem Server liegende Datei lesen

Beitrag von X360 Andy »

Schönen Mittag zusammen :mrgreen:

Wie mache ich das am beste ohne PHP Kenntnise

Ich bastel gerade ein kleines Prog. das man nur öffnen kann wenn man das Passwort hat.
Das Passwort "einzustellen" ist nicht mein Problem sondern das Online zu ändern.


Wie könnte ich das jetzt machen, das ich das "aktuelle" Passwort ändere ?
So das ich nur die Datei die auf meinem Server liegt ändere ( Bsp: "Passwort.txt" Inhalt = "1234567" )


Und das prog. liest das aktuelle passwort vom Server.
Versteht man was ich will ?

Hier mein der code wie ich da jetzt habe (sehr simpel eben )

Code: Alles auswählen

       Case #Start 
      Passwort$ =InputRequester("passcode","pls insert the pascode","")
      If passwort$ = "XYZ"
      
      Else
      MessageRequester("failed"," sry wrong passcode try again")
      RunProgram("XYZ.exe")
      End
(das ich das prog. beende und dann neustarte ist zwar nicht das schlauste aber naja )

Hätte jemand vie. en Beispiel ?
würde mich freuen.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Wenn du auf PHP verzichten willst, würde ich es mit Hashes machen.

Du speicherst also in der Datei auf dem Server nicht das richtige Passwort,
sondern nur den Hash davon, also z.B. als MD5. Dann lädst du den Hash
herunter und vergleichst ihn mit dem Hash des eingegebenen Passwortes.

So kommt man auch nicht an das richtige Passwort, wenn man den Link zur
Datei kennt.
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Also es geht um das Ändern des PW's ?

Sofern Du kein FTP Zugang zu dem Server öffnest, um die neue PW Datei (mit dem neuen Passwort) hochzuladen, wird dies wohl nicht funktioneren.

Möglichkeiten wären serverseitig nur SQL-Datenbank, oder PHP oder beides.
Ansonsten.. wie soll denn sonst das neue PW auf den Server kommen... ?
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Beitrag von X360 Andy »

Bisonte hat geschrieben:Also es geht um das Ändern des PW's ?

Sofern Du kein FTP Zugang zu dem Server öffnest, um die neue PW Datei (mit dem neuen Passwort) hochzuladen, wird dies wohl nicht funktioneren.

Möglichkeiten wären serverseitig nur SQL-Datenbank, oder PHP oder beides.
Ansonsten.. wie soll denn sonst das neue PW auf den Server kommen... ?
Klar FTP hab ich
Nur keine ahnung von PHP.

Deswegen meinte ich ob es da vie. schon sowas in der art an Codes gibt ( Purearea finde ich diesmal nichts dazu) ( also PHP )

Das mit MD5 hätte ich sowieso gemacht ( wenn ich das hinbekomme xD )

Naja ich bastel erst noch weiter am prog.

Oder gibt es vie. ein art LOGIN System ?

Mfg
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Beitrag von X360 Andy »

hehe auch ohne PHP gehts (vie. nicht sicher aber es geht)

Code: Alles auswählen



Simples Beispiel 
Procedure.s ReadWebString (url.s)
  url.s=Trim(url.s)
  If LCase(Mid(url.s,1,7))<>"http://":url.s="http://"+url.s:EndIf
  Progress.l
  TemporaryBuffer.l=AllocateMemory (64000)
  AgentBuffer.l=AllocateMemory (255)
  PokeS(AgentBuffer.l, "Mozilla/4.0 (compatible; ST)")
  hIOpen.l = InternetOpen_ (AgentBuffer.l,0,0,0,0 )
  hURLOpen.l = InternetOpenUrl_ (hIOpen.l , @url, "", 0, $8000000|$4000000 , 0 )
  If  hURLOpen.l
    Repeat   
      InternetReadFile_ (hURLOpen.l, TemporaryBuffer.l, 64000, @Progress)
      tmp.s+PeekS(TemporaryBuffer.l,255)   
    Until Progress = 0 
  EndIf   
  InternetCloseHandle_ (hIOpen.l )
  InternetCloseHandle_ (hURLOpen.l)
  FreeMemory (TemporaryBuffer.l)
  FreeMemory (AgentBuffer.l)
  ProcedureReturn tmp.s
EndProcedure   


StringVariable.s=ReadWebString ("http://x360.spacequadrat.de/PW.txt")
If StringVariable.s = "TESTTEST"
MessageRequester("lol","lol"  )
EndIf
http://www.purebasic-lounge.com/viewtopic.php?t=2193


Kann mir vie. noch jemand sagen wieso ich das Passwort dann 2mal eingeben muss ?

Weil eig. hab ich nur 1mal Test in der TXT Datei ...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Hier etwas einfacher und verständlicher der Code:

Code: Alles auswählen

InitNetwork()
If ReceiveHTTPFile("http://x360.spacequadrat.de/PW.txt", GetTemporaryDirectory() + "pw.txt")
  If ReadFile(0, GetTemporaryDirectory() + "pw.txt")
    If ReadString(0) = "TEST"
      MessageRequester("lol","lol"  )
    EndIf
    CloseFile(0)
    DeleteFile(GetTemporaryDirectory() + "pw.txt")
  EndIf
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Beitrag von X360 Andy »

Thx kapiert und geht wunderbar
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

[offtopic]
Also vielleicht als vlt. abzukürzen finde ich schon abartig, aber vie. ... ?
[/offtopic]
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

korrekt wäre "vllt."

... /a idR sind Abk nur sinnv. /w i Maßen verw.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Kaeru Gaman hat geschrieben:... /a idR sind Abk nur sinnv. /w i Maßen verw.
ACK :mrgreen:
a²+b²=mc²
Antworten