pragmaMx Support Forum

pragmaMx => Zusatzmodule => Thema gestartet von: trulla in 23 April 2011, 19:37:05

Titel: Spam in Rezeptdatenbank
Beitrag von: trulla in 23 April 2011, 19:37:05
 :) Hallöchen und schon mal Frohe Ostern

In meiner Rezeptdatenbank habe ich diesen Part abgeänder:

OpenTable2();
echo "<center><font class=\"mediumtitle\">"._RECIPES."</font></center><br>";
echo "<center><a href=\"modules.php?name=$module_name&action=categorybrowsestart\">"._CATEGORYBROWSE."</a> | <a href=\"modules.php?name=$module_name&action=namesearchstart\">"._NAMESEARCH."</a> | <a href=\"modules.php?name=$module_name&action=ingredientsearchstart\">"._INGREDIENTSEARCH."</a> | ";
echo "<a href=\"modules.php?name=$module_name&action=addnew\">"._SUBMITARECIPE."</a><br><br>";
include "modules/$module_name/alphabrowse.php";
CloseTable2();



in

OpenTable2();
echo "<center><font class=\"mediumtitle\">"._RECIPES."</font></center><br>";
echo "<center><a href=\"modules.php?name=".$module_name."&amp;action=categorybrowsestart\">"._CATEGORYBROWSE."</a> | <a href=\"modules.php?name=".$module_name."&amp;action=namesearchstart\">"._NAMESEARCH."</a> | <a href=\"modules.php?name=".$module_name."&amp;action=ingredientsearchstart\">"._INGREDIENTSEARCH."</a> | ";
echo '<a href="modules.php?name='.$module_name.'&amp;action=usersearchstart">Suche nach User</a> | ';
#### Eintrag nur user gestattet #####
if (is_user($user)) {
echo " |<a href=\"modules.php?name=$module_name&action=addnew\">"._SUBMITARECIPE."</a><br><br>";
}
else {
echo"<br><br>";
}
#########################################
include "modules/$module_name/alphabrowse.php";
CloseTable2();

Das heisst, die Anregung hatte ich aus einem Thread hier im Forum.  Zu sehen ist also für Gäste kein Link zum Eintragen. Wie kann es sein, dass ich trotzdem noch Spameinträe erhalte?

Mal wieder bin ich überfordert und ratlos
und freue mich über Hilfe
Titel: Re:Spam in Rezeptdatenbank
Beitrag von: Olaf / TerraProject in 23 April 2011, 20:53:45
du hast den Link damit zwar ausgeblendet, aber er funktioniert trotzdem noch. Die robots haben aber diesen Link aus früheren Besuchen und können Ihn auch aufrufen. Du kannst es selber mal versuchen, indem du als nichtangemeldeter User folgende URL-aufrufst:
www.deineseite.de/Rezeptdatenbank-action-addnew.html (ich habe die URL bewusst am anfang geändert)

Was du machen muss ist, eben dieses Aufruf zu unterbinden. Ich kenne jetzt den Quellcode nicht, aber im Normalfalle ist in der index.php des Moduls eine Switchliste, mit den Aktionen. Dort must du ansetzen, damit der Link, auch wirklich nur von Usern erreicht wird.

ggf. mal den Autor des Moduls anschreiben, ob er das nicht einbauen kann....
Titel: Re:Spam in Rezeptdatenbank
Beitrag von: Webfan in 24 April 2011, 08:16:33
Moin  :)
Teste mal:

Suche:
if ($action == "add")
{


Darunter anfügen:

if(!MX_IS_ADMIN && !MX_IS_USER)
{

echo 'Bitte registrieren usw....';
include('footer.php');
die();

}
Titel: Re:Spam in Rezeptdatenbank
Beitrag von: trulla in 24 April 2011, 10:02:26
 :)
Frohe Ostern noch mal

Danke, aber leider hilft das Nicht.

@TerraProject : Ja, du hast recht. Wer den Link kennt, kann problemlos seinen Spam eintragen. Warum machen die das nur? Ich tu doch keinem was!?

@Webfan. Dein Code bewirkt, das was auch immer ich in der Rezeptdatenbank anklicke, ein Neues Leeres Rezept eingetragen wird. Egal, ob ich User, Admin oder Gast bin.
Titel: Re:Spam in Rezeptdatenbank
Beitrag von: Andi in 24 April 2011, 11:42:40
Moin :)

der Code von Webfan sollte iegntlich funktionieren, wenn er genau so wie beschrieben eingefügt wird.


Abgesehen davon:

Ich habe mir vorhin das Uralt-Modul (den Code) mal angesehen und bin erschrocken. Unter heutigen Gesichtspunkten würde ich dringend vom Einsatz des Moduls abraten. Den Download habe ich gleich deaktiviert.


In den nächsten Tagen werde ich die gröbsten Schnitzer bereinigen und diese Version bereitstellen...
Titel: Re:Spam in Rezeptdatenbank
Beitrag von: trulla in 24 April 2011, 12:25:15
 :)
Das wäre super!
Danke Andi
Titel: Re:Spam in Rezeptdatenbank
Beitrag von: trulla in 24 April 2011, 12:47:03
 :gruebel:

Ok, ursprünglich hatte ich Webfans code falsch eingegeben ( ein { zuviel). Nun habe ich absolut alles richtig. Mehrmals geprüft. Nun kann wieder jeder eintragen, der den Link kennt.