2009-04-06 8 views
0

Ich bin dabei, ein kleines Modul einzurichten, wo, wenn sich der Benutzer zuletzt an einem bestimmten Datum anmeldet, er 10 Fragen beantworten muss, bevor er authentifiziert wird. 10 Fragen werden Optionen und Multiple Choice sein.Vorschläge zum Einrichten authentifizierender Benutzer basierend auf Fragen

Fragen, wenn ich einen Rat in der Einrichtung bekommen kann. Ich möchte die 10 Fragen und Antworten für jeden von ihnen in der DB speichern, also, wenn Fragen oder Antworten geändert werden, dann muss Code nicht geändert werden.

ich mit zwei Tabellen Fragen nachdachte, Antworten (eine Spalte richtige Antwort für Frage hat), die von einem pTaste verbunden werden (dies ist die beste Tabellenstruktur für das?)

mein Code (Java) erhält jede Frage und Antworten und speichert sie in einem Hash für jede Frage (ist das die beste Datenstruktur dafür?)

dann wird die Ansichtsschicht eine äußere Schleife haben, die Schleife über die Fragen und eine innere Schleife Das wird die Antworten für jede Frage durchlaufen. Soll ich die echte Antwort als versteckte HTML-Variable speichern? oder gehe erneut zur Datenbank, wenn der Benutzer auf "Senden" klickt, damit ich die Antworten zuordnen kann?

irgendwelche Vorschläge würden helfen.

Antwort

1

Soll ich die echte Antwort als versteckte HTML-Variable speichern?

Seien Sie nicht dumm. Wenn Sie das tun, haben Sie es einfach für jeden leichtfertig gemacht.

Für die breitere Frage (n) müssen Sie die Dinge erheblich klären, wenn Sie nützliche Ratschläge benötigen. Werden die Entscheidungen von Ihnen vorgegeben oder vom Benutzer vorgegeben? Werden sie für alle Nutzer gleich sein? Warum entscheidest du dich dafür, anstatt nur ein Passwort zu verwenden? Müssen Sie nicht auch speichern, welche Antworten für welche Benutzer korrekt sind? Was passiert, wenn sich die Fragen ändern? Etc.

+0

Auswahlmöglichkeiten werden vorgemerkt. Sie werden in der DB sein. Fragen werden für alle Benutzer gleich sein. nicht wählen sie dies über eine pwd, aber wenn user hsnt für eine lange zeit in das system eingeloggt sie müssen ans sme Qs bevor sie login und können fortfahren. Der Code wird für Fragen berücksichtigt, die in db geändert werden –

0

mein Code wird jede Frage und Antworten erhalten und speichert sie in einen Hash für jede Frage (ist dies die beste Datenstruktur für das?)

Ja, Hashing ist ein guter Ansatz. Einfaches Hashing ist nicht so stark, also sollten Sie sich hierüber informieren, sollten Sie wahrscheinlich eine salt hinzufügen.

Soll ich die echte Antwort als versteckte HTML-Variable speichern? oder gehe erneut zur Datenbank, wenn der Benutzer auf "Senden" klickt, damit ich die Antworten zuordnen kann?

Nein. Hidden HTML ist immer noch sichtbar, wenn Sie die Quelle anzeigen, so dass Sie Ihre Antworten weggeben werden. Die einzige Möglichkeit, dies zu tun, besteht darin, alle Prüfungen auf der Serverseite durchzuführen.