Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Registrierungsformular und alles was damit zu tun hat

Frage Entwicklung PHP

Mitglied: Nippie

Nippie (Level 2) - Jetzt verbinden

01.11.2006, aktualisiert 02.11.2006, 5003 Aufrufe, 11 Kommentare

Moin Leute,
Ich möchte gerne ein Registrierungsformular basteln. Allerding wird das etwas komplexer

Die Aufgabe:
-Formular, das Daten in eine MySql DB schreibt, eine Email an den User schickt, in der Der Bestätigungscode drinne ist (Der ja auch irgendwo her kommt) Dann muss der Account freigeschaltet werden.

1. Wie läuft das grundsätzlich ab?
2. vllt. ein Scriptbespiel.


Schonmal herzlichen Dank

Mit freundlichen Grüßen Nippie
Mitglied: 11078
02.11.2006 um 08:10 Uhr
Hallo,

1) Du musst eine Datenbankverbindung mit PHP aufbauen. Mit SQL-Syntax lässt sich die verbundene Datenbank dann bearbeiten.

Für Datenbankverbindungen hat PHP Funktionen im Angebot:
http://de2.php.net/mysql

2) Emails werden über das SMTP-Protokoll versendet, auch dafür hat PHP-Funktionen:
http://de2.php.net/manual/de/ref.mail.php

3) Was für ein Account soll den freigeschaltet werden???


Ansonsten: Arbeite Dich in die PHP-Funktionen zu MySQL und Mail ein und starte einfach mit Code-Beispielen, die sich im Netz zuhauf finden (googlen!).


Gruß,
Tim
Bitte warten ..
Mitglied: Nippie
02.11.2006 um 11:44 Uhr
Ok....

Aber eine Frage habe ich noch:

WIE generiere ich einen bestätigungscode, der dann zum aktivieren des accounts benutzt werden soll?

Mit freundlichen Grüßen Nippie
Bitte warten ..
Mitglied: 11078
02.11.2006 um 11:59 Uhr
Hallo,

WIE generiere ich einen
bestätigungscode, der dann zum
aktivieren des accounts benutzt werden soll?

Du könntest zum Beispiel aus dem Namen des Benutzers einen md5-Hash erzeugen und den als Aktivierungscode verwenden:
http://de.php.net/md5

Das wäre dann etwas in der Art: "1f3870be274f6c49b3e31a0c6728957f"


Wenn die Frage sich jetzt darauf bezog, wie man damit den "Account" freischaltet, kann ich Dir nicht weiterhelfen, da Du nicht gesagt hast, um was für eine Art Account es sich handelt???


Gruß,
Tim
Bitte warten ..
Mitglied: Nippie
02.11.2006 um 14:46 Uhr
Hi,
Das mit dem md5 hash ist ne gute Idee.

Ich habe inzwischen auch schon was geschafft:

-Registrierung an einer MySql Datenbank (Mit sofortiger freischaltung)
-Login an die DB mit session und regelmäßiger abfrage.

Bei dem Account, der freigeschaltet werden soll, handelt es sich um den Zugriff auf internetseiten
via http. Wenn mir jemand das system erläutern könnte wie ich die mail versende (MIT dem md5 hash als LINK) Wie man durch einen LINK etwas freischaltet. vllt. noch eine Spalte in der DB wo dann ein bestimmter Wert eingetragen wird????

Mit freundlichen Grüßen Nippie
Bitte warten ..
Mitglied: 11078
02.11.2006 um 15:05 Uhr
Hallo,

zunächst einmal muss ich sagen: Du solltest Dich erst einmal weiter in die Materie einarbeiten, denn ich habe nicht wirklich Lust, Dir jeden Schritt einzeln zu erklären oder zu programmieren.

Wenn Du einen Account für http-Authentifizierung freischaltest: Machst Du das über htaccess?

Dann könnte der Link auf eine gleichnamige php-Seite führen, die - wenn sie aufgerufen wird - der htusers und htgroups-Datei einen weiteren Eintrag hinzufügt.

Bin mir gerade allerdings nicht sicher, ob das in Sachen Sicherheit die beste Möglichkeit wäre.

Du müsstest Dich auf jeden Fall noch in das Öffnen von Dateien zum Schreiben usw. einarbeiten.

Die PHP-Seite, die ich oben schon für Beispiele herangezogen habe, ist zum PHP lernen ganz OK. Des weiteren würde ich vorschlagen, dass Du mal das Programmieren fortfährst und zu weiteren eng abgegrenzten Einzelproblemen (zum Beispiel: "Wie übergebe ich einer Mail mit PHP folgenden Inhalt...?") neue Fragen aufmachst: Mit Quellcode, damit man Dir evtl. sagen kann, was falsch ist oder was besser zu machen ist.


Gruß,
Tim
Bitte warten ..
Mitglied: Nippie
02.11.2006 um 15:38 Uhr
hmmmmmm...OK

Ich merke schon dass das ein ziemlich komplexes "Gerät" ist. Ich werde mal alle Teile einzeln angehen.

Mit freundlichen Grüßen Nippie
Bitte warten ..
Mitglied: blubb
02.11.2006 um 15:50 Uhr
Hi,
grundsätzlich ist es mit dem phpmailer (http://phpmailer.sourceforge.net/) eigentlich am einfachsten, man braucht das Rad ja nicht neu erfinden. ;)

Zu dem md5-Hash: Der Aktivierungscode ist ja dazu da, zu verhindern, dass automatisiert dutzende von Benutzern angelegt werden. Insofern ist es vllt nicht die beste Möglichkeit, den Hash vom Nicknamen (wie zB oben "apple"->"1f3870be274f6c49b3e31a0c6728957f") als Aktivierungscode zu verwenden, das System muss vom potentiellen Angreifer nur einmal durchschaut werden. Ein Zufallshash/-string wäre zB eine Möglichkeit.

Natürlich ist das alles rein theoretisch, da wohl kaum jemand solch eine Attacke durchführen würde, das ist ja mehr als unwahrscheinlich. Nur so vom Prinzip her =)
Bitte warten ..
Mitglied: 11078
02.11.2006 um 16:04 Uhr
Hallo,

Zu dem md5-Hash: Der Aktivierungscode ist ja
dazu da, zu verhindern, dass automatisiert
dutzende von Benutzern angelegt werden.
Insofern ist es vllt nicht die beste
Möglichkeit, den Hash vom Nicknamen (wie
zB oben
"apple"->"1f3870be274f6c49b3e31a0c6728957f")
als Aktivierungscode zu verwenden, das System
muss vom potentiellen Angreifer nur einmal
durchschaut werden. Ein Zufallshash/-string
wäre zB eine Möglichkeit.

MD5-Hashes sind sogar sehr sicher, da sie eine Quersumme eines Strings darstellen. vereinfachtes Beispiel: Weißt Du, ob die die "12" jetzt die Quersumme von 93, 39, 48, 84 ... war?.

Ein Link sollte natürlich nur einen neuen Account anlegen, wenn dafür auf dem Server schon ein Ticket existiert, sprich: Nutzer beantragt Account, Server erstellt dazu eine Art "Ticket", das nach soundsoviel Stunden abläuft. Wenn Nutzer in der Zeit einen Link anklickt, dann wird Account angelegt.

Das System ist sicher!


Gruß,
Tim
Bitte warten ..
Mitglied: blubb
02.11.2006 um 16:15 Uhr
Ein Link sollte natürlich nur einen
neuen Account anlegen, wenn dafür auf
dem Server schon ein Ticket existiert,
sprich: Nutzer beantragt Account, Server
erstellt dazu eine Art "Ticket",
das nach soundsoviel Stunden abläuft.
Wenn Nutzer in der Zeit einen Link anklickt,
dann wird Account angelegt.
Eben das halte ich für die Schwachstelle. Ein Script beantragt 120 Accounts und öffnet die entsprechenden Seiten, auf denen der Account aktiviert wird also 'register.php?activation='.md5($nick) ... Damit hätte man mal eben 120 Accounts, ohne eine funktionierende Mailadresse angegeben zu haben, was der Accountkey ja verhindern sollte. Bei nem zufälligen String als Accountkey müsste man erst 120 verschiedene Mailadressen einrichten. ;)

Wie gesagt ist das aber alles ziemlich theoretisch, sodass man eigentlich auch md5(Nick) verwenden kann.
Bitte warten ..
Mitglied: 11078
02.11.2006 um 17:06 Uhr
Hallo,

häng noch mit getdate() die seit 01.01.1970 vergangenen Sekunden an den zu hashenden String an und kein Bot der Welt kann mehr was machen, weil getdate schon eine Sekunde später ein anderes Ergebnis erzeugt


Gruß,
Tim
Bitte warten ..
Mitglied: Nippie
02.11.2006 um 17:11 Uhr
Eine sehr gute Idee....
thx

Mit freundlichen Grüßen Nippie
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...