Hallo,
ich habe gerade bemerkt, dass ein Mitglied ohne besondere Rechte auch Mails an andere Mitglieder senden kann, welche dafür laut Rollenberechtigung nicht freigegeben sind.
Habe das ganze in meiner Installation als auch auf der Spielwiese nachstellen können.
Mitglied hat nur das Recht eigenes Profil zu bearbeiten und kann trotzdem an jedes einzelne Mitglied eine Mail versenden (und sogar die E-Mail Adresse sehen).
Ist es gewünscht, dass jeder das kann, oder liegt hier ein Problem vor?
Mitglied ohne Rechte - Mail an Mitglieder trotzdem möglich
-
- Beiträge: 37
- Registriert: 11. Jun 2015, 21:12
Re: Mitglied ohne Rechte - Mail an Mitglieder trotzdem mögli
Hmm, da muss ich selber mal überlegen.
Bisher war dies möglich, wenn man das Recht hatte, die Liste einer Rolle anzusehen. Dann konnte man auf die Profile klicken und dort eine Email an das Mitglied senden. In so einem Fall sollte jetzt das Mitglied in unserem neuen Email-Formular auftauchen. Darf man die Mitglieder einer Liste nicht sehen, so darf auch jetzt das Mitglied nicht direkt angeschrieben werden. Das wäre dann ein Bug.
Kannst du das noch mal bitte prüfen.
Bisher war dies möglich, wenn man das Recht hatte, die Liste einer Rolle anzusehen. Dann konnte man auf die Profile klicken und dort eine Email an das Mitglied senden. In so einem Fall sollte jetzt das Mitglied in unserem neuen Email-Formular auftauchen. Darf man die Mitglieder einer Liste nicht sehen, so darf auch jetzt das Mitglied nicht direkt angeschrieben werden. Das wäre dann ein Bug.
Kannst du das noch mal bitte prüfen.
-
- Beiträge: 37
- Registriert: 11. Jun 2015, 21:12
Re: Mitglied ohne Rechte - Mail an Mitglieder trotzdem mögli
Hallo,
also es ist tatsächlich so wie ich es geschildert habe.
Egal ob man Rechte für die Rolle hat oder nicht werden immer alle Benutzer in der Liste zur Verfügung gestellt.
Das lässt sich auch im Quelltext der message_write.php nachvollziehen.
Für die Anzeige von Rollen wird in Zeile 344 mit der Funktion "hasRightSendMailToRole()" geprüft, ob die Rolle für den Benutzer angezeigt werden soll.
In der SQL-Abfrage für die einzelnen Nutzeradressen (Zeile 355 - 393) werden alle E-Mail Adressen und zugehörige Daten aus der Datenbank gelesen und aufgelistet ohne zu prüfen, ob die Adresse zu einer Rolle gehört an die der angemeldete Benutzer eine E-Mail senden darf.
Ich bin leider nicht so tief in den ganzen Funktionen und Möglichkeiten im Quelltext drin und kann daher gerade auch keinen Lösungsansatz finden.
Aktuell habe ich es "manuell" gelöst, indem die entsprechenden Zeilen nur noch für bestimmte Rollen ausgeführt werden
also es ist tatsächlich so wie ich es geschildert habe.
Egal ob man Rechte für die Rolle hat oder nicht werden immer alle Benutzer in der Liste zur Verfügung gestellt.
Das lässt sich auch im Quelltext der message_write.php nachvollziehen.
Für die Anzeige von Rollen wird in Zeile 344 mit der Funktion "hasRightSendMailToRole()" geprüft, ob die Rolle für den Benutzer angezeigt werden soll.
In der SQL-Abfrage für die einzelnen Nutzeradressen (Zeile 355 - 393) werden alle E-Mail Adressen und zugehörige Daten aus der Datenbank gelesen und aufgelistet ohne zu prüfen, ob die Adresse zu einer Rolle gehört an die der angemeldete Benutzer eine E-Mail senden darf.
Ich bin leider nicht so tief in den ganzen Funktionen und Möglichkeiten im Quelltext drin und kann daher gerade auch keinen Lösungsansatz finden.
Aktuell habe ich es "manuell" gelöst, indem die entsprechenden Zeilen nur noch für bestimmte Rollen ausgeführt werden
Code: Alles auswählen
if (hasrole('Rolle1') || hasrole('Rolle2') || $gCurrentUser->isWebmaster())
{
Code aus Zeile 355 - 393
}
{
Zuletzt geändert von pphlwmarcel am 9. Aug 2015, 13:10, insgesamt 1-mal geändert.
Re: Mitglied ohne Rechte - Mail an Mitglieder trotzdem mögli
Wir werden uns das mal anschauen. So wie du es beschreibst ist es natürlich ein Fehler.