Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Module erstellen

Eingetragen von dollares (41)
am 21.02.2007 - 17:34 Uhr in
  • Module

Hallo

ich hab mal eine Frage zum erstellen von Modulen.

Ich hab ein Module gemacht, das eine Datenbank erstellt, eine Settings Seite hat und per cron upgedatet wird.

Jetzt fehlt nur noch die Einbindung in die Seite ;-)

erstmal zum Funktionsumfang.
Es soll ein antiSpam Module werden
anhand einer ip/Referer/UA liste sollen bestimmte User ausgeschlossen werden.

um die Funktionen optimal einbinden zu können, müsste ich unter anderem auch auf diese Funktion (http://de2.php.net/manual/de/function.header.php) zurückgreifen können.

Ist es möglich und wenn ja wie diese per Module aufzurufen?

Weiterhin müsste ggf. eine Seite (unabhängig von dem gesamten core System - vergleichbar mit "Front Page") für bestimmte ip/Referer/UA ausgegeben werden.

Wie ist so etwas möglich?

THX

‹ forum Kontaktformular ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

hm, hast du schonmal die

Eingetragen von pebosi (2645)
am 21.02.2007 - 17:39 Uhr

hm, hast du schonmal die filter versucht die drupal eh mit sich bringt? in kombination mit dem spam module, oder fehlt dir da irgendwas an funktionalität?

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

Einbindung von Modulen in Seite

Eingetragen von md (3717)
am 21.02.2007 - 17:47 Uhr

Die "Einbindung von Modulen" (aus deinem Modulcode) in die "Seite" geschieht mit dem hook_menu.

Beispiel:

function deinmodul_menu($may_cache) {
  $items = array();
  if ($may_cache) {
    $items[] = array(
      'path' => 'ein_path', 'title' => t('Name deines Moduls'),
      'callback' => 'name_der_funktion',//welche den HTML Output generiert
      'access' => user_access('access content'),
      'type' => MENU_SUGGESTED_ITEM
    );
  }
  return $items;
}

md - drupalcenter
http://mdwp.de :: http://drupal.mdwp.de

vCard herunterladen

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich weiß jetzt nicht in wie

Eingetragen von dollares (41)
am 21.02.2007 - 18:13 Uhr

ich weiß jetzt nicht in wie weit die Funktion im spam module vorhanden ist aber:

aber das module soll folgendes machen:

verhindern des Zugriffes auf die Seite für:
Content Grabber, Web Spam, Sauger, Hijacker, Duplicate Content ...

wenn So ein Zugriff stattfindet, soll folgendes geschehen:
- Logeintrag
- header("HTTP/1.0 403 Forbidden");
- Ausgabe einer vorher definierten Seite
- chapcha falls es doch ein Mensch war - damit die Seite doch angeschaut werden kann

-----------------------

THX md

allerdings meint ich das nicht. Diese Funktion hab ich schon.
ich dachte eher an diese Funktion http://api.drupal.org/api/HEAD/function/drupal_goto (ich hab die im Quellcode von "Front Page" geguckt)

------------------------

ich hab jetzt aber noch eine frage.
in dem Module "Front Page" gibt es die Funktion [function front_page()]

wie wird diese Funktion aufgerufen bzw. wo?
Da in dieser Funktion ja die Anweisung für das Setzen der Frontpage steht.

THX

Urlaub an der Ostsee

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich hab mir das jetzt noch

Eingetragen von dollares (41)
am 22.02.2007 - 17:13 Uhr

ich hab mir das jetzt noch mal angeschaut...

um das zu realisieren, müsste man (so wie ich das sehe) das core System verändern.
oder seht ihr da eine andere Möglichkeit?

Zeile 799 includes/bootstrap.inc

    case DRUPAL_BOOTSTRAP_ACCESS:
      // Deny access to hosts which were banned - t() is not yet available.
      if (drupal_is_denied('host', $_SERVER['REMOTE_ADDR'])) {
        header('HTTP/1.1 403 Forbidden');
        print 'Sorry, '. $_SERVER['REMOTE_ADDR']. ' has been banned.';
        exit();
      }
      break;

hier müsste dann anstelle des core-codes ein eigenen-code aus meinem Module aufgerufen werden.

mfg

Urlaub an der Ostsee

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hmm, was genau möchtest Du

Eingetragen von bv (3924)
am 22.02.2007 - 17:20 Uhr

Hmm, was genau möchtest Du denn mit der Header-Funktion machen? Evtl. gibt es ja noch andere Möglichkeiten...

--
bv - drupalcenter.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Besucher soll auf

Eingetragen von dollares (41)
am 22.02.2007 - 18:03 Uhr

Der Besucher soll auf folgendes getestet werden:

  • ip
  • Referer
  • UA
  • ...

anhand einer erweiterbaren blacklist/ whitelist (inklusive auto update) sollen bestimmte Besucher geblockt werden
z.b.
header("HTTP/1.0 403 Forbidden");
die ("forbidden Message"); //Inklusive chapcha falls es doch ein Mensch war ;-)

oder umgeleitet werden.
z.b.
header('HTTP/1.0 301');
header('Location: http://www.SPAM-THE-WEB-NOT-ME.LOL/');
exit;

  • Außerdem soll es eine Statistik geben.
  • Eingeloggte Besucher sollen ggf. nicht getestet werden
  • Wer einmal getestet wurde (Rückerkennung über die Session) muss sich dem test nicht mehr unterziehen oder nur alle X mal.
  • ....
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein Script mit dieser

Eingetragen von pebosi (2645)
am 23.02.2007 - 09:41 Uhr

Ein Script mit dieser Funktionalität gibt es bei bot-trap.de einfach in die index.php per include einbinden und fertig.

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

das Script kenne

Eingetragen von dollares (41)
am 23.02.2007 - 17:14 Uhr

das Script kenne ich.

Allerdings bietet es nicht alle genanten Funktionen.

Ich hab jetzt mal was geschrieben:

Folgendes muss im core angepasst werden:
includes/bootstrap.inc

Zeile 768:
....., DRUPAL_BOOTSTRAP_SESSION, DRUPAL_BOOTSTRAP_ACCESS, ....

Zeile 799:
    case DRUPAL_BOOTSTRAP_ACCESS:
      // Deny access to hosts which were banned - t() is not yet available.
      if (drupal_is_denied('host', $_SERVER['REMOTE_ADDR'])) {
        header('HTTP/1.1 403 Forbidden');
        print 'Sorry, '. $_SERVER['REMOTE_ADDR']. ' has been banned.';
        exit();
      }
 
  //include PR
      require_once './sites/all/modules/pageRestrictor/pageRestrictor.inc';
  pageRestrictor();
      break;

Der code der Datei /sites/all/modules/pageRestrictor/pageRestrictor.inc

function pageRestrictor(){
    global $user;

if($user->uid != '0' || (isset($user->pageRestrictor->status) && $user->pageRestrictor->status == 'true')) return;//only check anonymous user || check if anonymous user hase solve  the test
if(isset($user->pageRestrictor->value, $user->pageRestrictor->key, $_POST[$user->pageRestrictor->key]) && $user->pageRestrictor->value == $_POST[$user->pageRestrictor->key]){
    //anonymous user solve the Problem
$user->pageRestrictor[status] = 'true';
    return;
}elseif(isset($user->pageRestrictor->key, $_POST[$user->pageRestrictor->key])){
    //anonymous user do not solve the Problem
    _pageRestrictor_403();
exit();
}
$user->pageRestrictor = array();
$user->pageRestrictor[status] = 'false'; //set the status to 'false'

        .............
}

function _pageRestrictor_403(){
}

ihr könnt ja mal was dazu sagen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Image Alt unD Image Titel
  • Probleme mit der darstellun der ogg:image Tags.
  • Drupal-Forks und ihre Schwächen/Stärken
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • Lokale Entwicklungsumgebung auf Windows
  • [gelöst]Abhängigkeiten zweier oder mehrerer Inhaltstypen
  • Drupalcenter tot?
  • Was kann ich gegen ständige Blutergüsse tun?
  • Mir gefällt die Drupal Symfony und deren Composer
  • Mir ist da was aufgefallen ;)
  • Matomo Installation
  • Verständnisfrage private_files in Drupal
Weiter

Neue Kommentare

  • Also bei mir bleibt da nix
    vor 12 Stunden 55 Minuten
  • Auch wenn deine Antwort nun
    vor 14 Stunden
  • ich verwende 10.5.1
    vor 1 Tag 9 Stunden
  • sorry *g* vor lauter lauter
    vor 1 Tag 9 Stunden
  • Also der Token gehört schon
    vor 1 Tag 10 Stunden
  • nur die Erstinstallation
    vor 1 Tag 10 Stunden
  • Hm... Ich habe jetzt mal den
    vor 1 Tag 10 Stunden
  • Nicht nur Sicherheit, sondern auch Integrität Daten wichtig
    vor 1 Tag 11 Stunden
  • Ach was dass funktioniert
    vor 1 Tag 12 Stunden
  • Danke für die ausführliche
    vor 1 Tag 14 Stunden

Statistik

Beiträge im Forum: 250060
Registrierte User: 20369

Neue User:

  • RenhMen
  • Aspenflum
  • LilliNELP

» Alle User anzeigen

User nach Punkten sortiert:
wla9456
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3855
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 8 Gäste online.

Benutzer online

  • RenhMen

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association