Seite 1 von 1

Private Nachricht als Gast verschicken

Verfasst: 21.10.2010 21:41
von LiGERWooD
Hi,

laut Berechtigungsrollen kann man einem Gast die Erlaubnis zum versenden privater Nachrichten (PN) geben. Diese Erlaubnis habe ich auch gesetzt, dennoch erscheint eine Login-Aufforderung, wenn man als Gast eine private Nachricht (PN) verfassen möchte. Muss ich da erst was im Quellcode ändern?

Re: Private Nachricht als Gast verschicken

Verfasst: 21.10.2010 22:01
von Mahony
Hallo
Aus Sicherheitsgründen ist es nicht möglich, als Gast Private Nachrichten zu versenden(oder zu empfangen).
1. Was glaubst du wohl, was passiert wenn ein böswilliger Bot den Link aufruft und Spam per Privatnachricht an alle deine Mitglieder sendet ?
2. Die Private Nachricht, wäre keine Private Nachricht, da jeder die Antwort an den Gast lesen könnte.

Wie du siehst, würde das ganze keinen Sinn ergeben - also vergiss es mal ganz schnell wieder.


Grüße: Mahony

Re: Private Nachricht als Gast verschicken

Verfasst: 21.10.2010 22:13
von LiGERWooD
Mahony hat geschrieben:Hallo
Aus Sicherheitsgründen ist es nicht möglich, als Gast Private Nachrichten zu versenden(oder zu empfangen).
1. Was glaubst du wohl, was passiert wenn ein böswilliger Bot den Link aufruft und Spam per Privatnachricht an alle deine Mitglieder sendet ?
2. Die Private Nachricht, wäre keine Private Nachricht, da jeder die Antwort an den Gast lesen könnte.

Wie du siehst, würde das ganze keinen Sinn ergeben - also vergiss es mal ganz schnell wieder.


Grüße: Mahony
Dennoch möchte ich es das es Möglich ist. Das ich die Sicherheitsgedankengänge durchgegangen bin, da brauchst Du dir gar keine sorgen machen.
Ich denke am einfachsten wäre es wenn dies zu lasten des Benutzers Gast ginge. Ich möchte daher die Prüfung ändern, so dass es einen Persöhnlichen Bereich für den Benutzer Gast gibt.

Des weiteren hat jeder Benutzer eh die Möglichkeit einen Benutzer zu blockieren. Blockieren könnte er ja auch Benutzer Gast.
Und wer sagt das es nicht möglich wäre, ein CAPTCHA bei Versenden von Privaten Nachrichten ein zu bauen?
Danke!

EDIT: Ich denke mal das es am einfachsten wäre, wenn ich mir erst einmal ansehe wie ein humanes Profil in der DB aussieht und wie der Quellcode, zum erstellen eines humanen Profils, aussieht. Dann lokalisiere ich denn bereich der denn Persöhnlichen Bereich erstellt und füge das dem Spezialbenutzer Gast hinzu und schreibe dann noch die betreffenden Prüfungen um, die das aufruffen des Persöhnlichen Bereichs verhindern sowie auf die Login-Maske weiterleiten. Dann lasse ich Benutzer Gast neu erstellen.

EDIT: Lol mir ist gerade noch eine andere Möglichkeit eingefallen, die ich auch Provosorisch anbieten werden. Ich erstelle einfach einen Benutzer und gebe dann den Benutzernamen und das dazugehörige Passwort im Forum an.

EDIT: Ich habe nun einen handfesten Versuch im Quellcode getätigt und zwar bei der ucp.php in Zeile 250 bis 261. Dort wird das erste mal geprüft ob der momentane Benutzer überhaupt registriert ist. Wobei User Gast ja eigentlich auch registriert ist. Ich habe den Code

Code: Alles auswählen

if (!$user->data['is_registered'])
{
	if ($user->data['is_bot'])
	{
		redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
	}

	login_box('', $user->lang['LOGIN_EXPLAIN_UCP']);

}
wie folgt geändert:

Code: Alles auswählen

if (!$user->data['is_registered'])
{
	if ($user->data['is_bot'])
	{
		redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
	}

	if ($id != 'pm')
	{
		login_box('', $user->lang['LOGIN_EXPLAIN_UCP']);
	}
}
u enthält dann auch 55. Es erscheint dann die information "Die Private Nachricht konnte nicht gefunden werden." Ich gehe mal davon aus, dass User Gast irgendwo noch aussotiert wird. Glaube dort wo dann nun der PM-Editor defeniert wird. Problem ist, ich weiß immer noch nicht, mithilfe er von was unterscheidet ob es sich um User Gast handelt. Glaube aber mit dem Object ANONYMOUS. Vielleicht legt er das irgendwo anhand der group_id fest, wenn die group_id den Wert 1 trägt. Am Usernamen kanns ja wohl nicht liegen, da man diesen auch beim Benutzer Gast ändern kann und bei den group definitionen erscheint unter 1 guest.