Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 10:18

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Vermeidung doppelter Ausführung

Discussion on Vermeidung doppelter Ausführung within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1

 
the[1]'s Avatar
 
elite*gold: 263
The Black Market: 309/0/0
Join Date: May 2011
Posts: 4,410
Received Thanks: 337
Vermeidung doppelter Ausführung

Hallo,

ich will, dass nach einer Zahlung auf einer externen Seite automtaisch etwas abgesendet wird. Problematisch ist eben das Ausführen auf der externen Seite. Es darf exakt nur 1x gesendet werden und auch nicht abgebrochen werden (womit die direkte Ausführung des php-Codes beim User ausscheidet). Ich habe mir überlegt, dass ein via Cronjob angesteuertes Script diese Aufträge "abarbeitet". Das ist aber natürlich nicht wirklich ressourcenschonend.
Womit könnte ich das besser umsetzen?

LG
the[1] is offline  
Old 08/10/2013, 20:12   #2
 
elite*gold: 0
Join Date: Apr 2005
Posts: 323
Received Thanks: 114
Setze einen request ab und lass dir ein success token zurückliefern.

MrPuschel is offline  
Old 08/10/2013, 20:42   #3

 
the[1]'s Avatar
 
elite*gold: 263
The Black Market: 309/0/0
Join Date: May 2011
Posts: 4,410
Received Thanks: 337
Es kann sein, dass biem User die Verbindung abbricht etc. wodurch dann nicht klar ist, ob die externe Website bereits die Anfrage verarbeitet hatte (und z.B. gerade der Content an den Server ausgeliefert wird), ob es einen Fehler gab, oder der Request gar nicht verarbeitet wurde. Auch doppeltes ausführen durch bspw. schnelles klicken hinterinenader muss ausgeschlossen werden -> Das Script muss vom Server aus aufgerufen werden
Und dafür suche ich eben eine effiziente Lösung. Alle paar Sekunden via Cronjob das Script auszuführen und prüfen zu lassen frisst einfach nur Ressourcen.

Hoffe ich habe mein Problem etwas klarer ausgedrückt.
the[1] is offline  
Old 08/10/2013, 20:59   #4
 
elite*gold: 0
Join Date: Apr 2005
Posts: 323
Received Thanks: 114
Nehmen wir an es handelt sich um die Auslieferung einer Ware nach Zahlungseingang.

Dein User bezahlt, du setzt Server seitig ein request ab das entweder ein status 200 oder ein status 500 zurückliefert. Bei 200 wird die Ware ausgeliefert, bei 500 bekommt der user eine Fehlermeldung.

Selbst im unwahrscheinlichen Fall das dein Server vom Netz gehen sollte ist sichergestellt das die Anfrage ordnungsemäß verarbeitet wird.

Ich denke du machst es dir schwieriger als es ist.


Abgesehen davon wird der Service den du für Zahlungen benutzt so eine Lösung mit an Sicherheit grenzender Wahrscheinlichkeit schon implementiert haben.
MrPuschel is offline  
Old 08/10/2013, 21:27   #5

 
the[1]'s Avatar
 
elite*gold: 263
The Black Market: 309/0/0
Join Date: May 2011
Posts: 4,410
Received Thanks: 337
Racing Conditions muss ich eben unbedingt vermeiden. Wenn man durch 2 schnelle Klicks hintereinander 2x den Request absetzen kann bin ich eben gearscht (weil doppelte Ware für normalen Preis). Und da sowas jeder Idiot versuchen kann ist das Risiko auch recht hoch. Gab ja schon genug Fälle wo eben die doppelte Ausführung ein problem war (.zB: Bitcoin24)
the[1] is offline  
Old 08/10/2013, 22:22   #6
 
elite*gold: 0
Join Date: Apr 2005
Posts: 323
Received Thanks: 114
Google "PHP Redirect after POST" und wenn du ganz ganz GANZ sichergehen möchtest kannst du beim Empfänger einfach ein lock in die Datenbank schreiben. Das sind eigentlich basics.
MrPuschel is offline  
Reply


Similar Threads Similar Threads
Lag Vermeidung beim Spielen über selben Internetzugang
06/30/2012 - Elsword - 4 Replies
Also ich weis jetzt nicht ob schon ein Thread darüber existiert, aber mir und mehreren Bekannten ist aufgefallen, dass wenn mehr als eine Person über den selben Rooter zocken und zusammen in einen Dungeon gehen, dermaßen böse Lags auftreten, dass eigentlich nurnoch einer von diesen im Stande ist richtig zu spielen. Dazu ist mir eine Lösung eingefallen, die auch funktioniert. Alle, bis auf eine Person, müssen einfach einen Proxy laufen lassen und fertig - Es geht wieder! :D
LoL Ausführung
06/23/2012 - League of Legends - 2 Replies
Hallo Leute ! Ich habe folgendes Problem: Unzwar ich kann LoL nur starten mit Admin Rechten ! Sobald ich es normal ausführen möchte ist da ein Fehler ! Jetzt ist meine Frage : Wie kann ich das Spiel so Einstellen dass es immer it Admin Rechten startet ! Weil es ist nervig wennn ich manchmal ausversehen es normal öffne ! Vielleicht könnt ihr mir ja auch helfen das Problem wegzubekommen ! Falls Technische Daten benötigt werden bescheid sagen ! MfG D4rk LoL Ausführungs Fehler -...
Vermeidung von Bann ?
05/02/2012 - Combat Arms - 45 Replies
Hallo leute ich wurde vor 4 tagen reportet wegen powerleveln..^^ ich und ein kumpel waren hired guns und einer hat gold geholt und die anderen gekillt, wenn einer im gegner team zugut war haben wir diesen mit elite mod gekickt.. ein ganz großer held aus meinem team hat alle kicks gescreent O.o dann hat mein kumpel im chat geschrieben "kick den der hat gold" das habe ich natürlich getan also den jenigen gekickt. das hat der Kerl auch wieder gescreened..
Bann Vermeidung durch Transfer ?
12/04/2008 - World of Warcraft - 6 Replies
Hallo ich habe meinen char Powerleveln lassen , leider hab ich in nachhinein rausgefunden das der char gebottet wurde. Bevor ich jetzt weiter Geld reinstecke in den account , wie groß sind die Chancen gebannt zu werden ( Spiele seit ca einer Woche wieder selbst , bisher kein Bann in Sicht ) ? und würde es die Bann Gefahr aufheben wenn ich den char auf einen neuen account transferiere ? mfg sweetvaney



All times are GMT +1. The time now is 10:18.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.