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

gruß pebosi
--
https://pebosi.net

  • 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

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • 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

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

Urlaub an der Ostsee

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hmm, was genau möchtest Du

Eingetragen von bv (3917)
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.
  • ....

Urlaub an der Ostsee

  • 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

gruß pebosi
--
https://pebosi.net

  • 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.

Urlaub an der Ostsee

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Multidomain
  • Drupal 8: Modul prevnext
  • [gelöst]Drupal 8: Fußzeilenmenü auf Login-Seite verschwunden
  • Vom jeweiligen User die Kunstwerke ausgeben.
  • Fullcalendar - Grösse Dialogfenster
  • Notify-Modul: Einmalige Benachrichtigung ueber neue Nodes senden
  • [gelöst]Drupal 9 und Ubuntu 20.04
  • [gelöst] Swiftmailer installieren um Simplenews zum Laufen zu bringen
  • Installiert ja, aber kein einziger link funktioniert
  • Drupal 9 - "read more" übersetzen nun anders, nur wie?
  • [gelöst] Nur editierbare Medien in Media-View anzeigen
  • Probleme mit dem Adminmenü
Weiter

Neue Kommentare

  • Hey! Das Modul
    vor 13 Stunden 10 Minuten
  • Ich verwende das
    vor 13 Stunden 40 Minuten
  • Du benötigst das Modul
    vor 15 Stunden 5 Minuten
  • Kontakt ist schonmal da! Es
    vor 15 Stunden 49 Minuten
  • Hallo, nein, keine
    vor 16 Stunden 19 Minuten
  • Und da sind keine
    vor 16 Stunden 46 Minuten
  • Hallo, Danke für die
    vor 17 Stunden 7 Minuten
  • Wie kommt das Menü in die
    vor 19 Stunden 8 Minuten
  • irgendwo wird doch die nutzer
    vor 1 Tag 18 Stunden
  • inst schrieb Hallo, ich
    vor 1 Tag 18 Stunden

Statistik

Beiträge im Forum: 246312
Registrierte User: 18908

Neue User:

  • coolpet
  • Demophobie
  • JorgeClayton

» Alle User anzeigen

User nach Punkten sortiert:
wla9037
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3917
ronald3834
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 5 Gäste online.

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