php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-01-2009, 01:29
norodon
 Registrierter Benutzer
Links : Onlinestatus : norodon ist offline
Registriert seit: Apr 2008
Beiträge: 55
norodon ist zur Zeit noch ein unbeschriebenes Blatt
Standard TAN-Invite System realisieren (PHP/MYSQL)

Hiho,

für meine Internetseite möchte ich eine Art TAN-Invitesystem einbauen.

Mit Hilfe eines TAN's kann eine person X eine person Y in das System einladen und erföffnet ihm so die möglichkeit sich anzumelden.

Ich habe dafür 2 Ansätze: jeder User der invitet wird bekommt 5 TAN zugewiesen, egal ob er diese nutzt oder nicht. Diese kann er jedoch an eine person seiner wahl weitergeben.

Alternativ kann eine person 5 TANs generieren lassen und diese dann verteilen.

Es kommt zwar auf dasselbe hinaus, aber ich bin gerade am überlegen wie ich es Datenbanktechnisch am besten umsetze in hinblick auf performance und speicherverbrauch.


Weitere Alternative wäre, Einladungen über die Emailadresse und nur 5 Einladungen pro User erlauben.

Jemand mit sowas erfahrung?



Danke im Vorraus
Mit Zitat antworten
  #2 (permalink)  
Alt 08-01-2009, 01:45
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Gibts denn bestimmte Vorgaben über maximale Einladungen?

Ich würde eher so rangehen, dass man eine Einladung on-the-fly geniert und diese mit einer maximlen gültigen Dauer versiehst. (Damit mein ich keine e-Mail sondern einen direkten Link)
Dann speicherst natürlich den Werber und dann sollte es gut sein.

mfg
Mit Zitat antworten
  #3 (permalink)  
Alt 08-01-2009, 02:43
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ich würde es so machen:

- User klickt auf "Einladung versenden"
- System schickt an vom User eingegebene Mailadresse einen Link mit einem eindeutigen Schlüssel
- Schlüssel wird mit Erstellungsdatum und Zuordnung zu User in DB gespeichert

- Empfänger klickt auf Link in der Einladung (und registriert sich oder wozu er eben eingeladen wurde)
- Schlüssel wird aus DB gelöscht
- für o.g. User wird ein Zähler erhöht

Vor den ersten Teil (User klickt) gehört noch die Prüfung, ob der Zähler des Users schon den maximalen Wert hat. Ist dem so, werden alle dem User zugeordneten Schlüssen, deren Erstellung zu lange zurückliegt gelöscht. Der Zähler des Users wird um die Anzahl gelöschter Schlüssel herabgesetzt. Ist der Zähler nun nicht mehr maximal, kann der User eine Einladung verschicken.


Minimaler Speicherverbrauch und bei richtiger Indizierung auch entsprechend gute Performance. Allerdings dürfte selbst das vorgenerieren aller Schlüssel für jeden User keine Probleme machen - selbst bei 1 Mio. User wären das nur 5 Mio. kleine Datensätze. Das schafft jedes erwachsene DBS.
Mit Zitat antworten
  #4 (permalink)  
Alt 08-01-2009, 22:31
norodon
 Registrierter Benutzer
Links : Onlinestatus : norodon ist offline
Registriert seit: Apr 2008
Beiträge: 55
norodon ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Eure Ansätze gefallen mir. Denke ich werde es genau so umsetzen.

Noch ein Tipp wie man Schlüssel generieren kann? Hab an Random zahlen gedacht (10-15 Stellig) und dann mit MD5-Umwandeln, dann haben sie immer dieselbe Länge und jeder MD5-Key ist eindeutig.
Mit Zitat antworten
  #5 (permalink)  
Alt 08-01-2009, 22:50
kaiand1
 Registrierter Benutzer
Links : Onlinestatus : kaiand1 ist offline
Registriert seit: Aug 2002
Beiträge: 197
kaiand1 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Randomzahlen würde ich nciht nehmen da diese sich ja irgendwo mal wiederholen können.
Ich würde eher was mit dem Timestamp machen da dieser eigentlich wirklich nur einmal vorkommt
Da es sehr unwarscheinlich ist das mehere User Zeitgleich auf die Sekunde genau eine Einladung erstellen werden...
Mit Zitat antworten
  #6 (permalink)  
Alt 08-01-2009, 23:00
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von kaiand1
Randomzahlen würde ich nciht nehmen da diese sich ja irgendwo mal wiederholen können.
Ich würde eher was mit dem Timestamp machen da dieser eigentlich wirklich nur einmal vorkommt
Da es sehr unwarscheinlich ist das mehere User Zeitgleich auf die Sekunde genau eine Einladung erstellen werden...
ungefähr so unwahrscheinlich wie bei zufälligen Zahlen zwei Mal die gleiche zu erhalten vielleicht...?

Kollisionen muss man halt behandeln oder akzeptieren.
Mit Zitat antworten
  #7 (permalink)  
Alt 08-01-2009, 23:19
norodon
 Registrierter Benutzer
Links : Onlinestatus : norodon ist offline
Registriert seit: Apr 2008
Beiträge: 55
norodon ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Gut, das ABfragen und die Kollision wäre ja kein Problem. Die im Momnt aktiven Keys stehen ja in der Datenbank und es lässt sich leicht prüfen ob ein Key bereits dort enthalten ist.

Ist das der Fall wird die Key generierung wiederholt.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:53 Uhr.