php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.06.2009, 13:26  
Neuer Benutzer
 
Registriert seit: 07.06.2009
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Elbgeist befindet sich auf einem aufstrebenden Ast
Standard Im Formular mit BlacklistPath Domain überprüfen

Moin zusammen,

ich möchte in einem Kommentarformular das Input der Zeile "Webseite" mittels einer selbsterstellten Blacklist (txt-Datei) überprüfen und dort eingetragene Domains sperren. D.h., die eingegebene Webseite wird nicht akzeptiert.

Dafür habe ich auch schon einem Codechnipsel gefunden

PHP-Code:
<?php
function checkAddress($Address$BlacklistPath ""){
  if(!
preg_match("/^[A-Z0-9._%+-ÄÖÜäöü]+@[A-Z0-9.-ÄÖÜäöü]+\.[A-Z]{2,6}$/i"$Address))
    return 
false;
  
  list(
$LocalPart$DomainPart) = explode("@"$Address);
  
  if(
$BlacklistPath){
    if(!
is_file($BlacklistPath))
      return 
false;
    
    if((
$BlacklistedDomains file($BlacklistPath)) === false)
      return 
false;
    
    foreach(
$BlacklistedDomains as $BlacklistedDomain){
      if(
trim($BlacklistedDomain) == $DomainPart)
        return 
false;
    }
  }
  
  if((
$Connection = @fsockopen($DomainPart80$ErrorNumber$ErrorString5)) === false)
    return 
false;
  
fclose($Connection);
  
  return 
true;
}
?>
der dies bewerkstelligt. Mit diesem Schnipsel wird allerdings das Feld "E-Mail" überprüft.

Als Anfänger habe ich nun das Problem, was muss ich an diesem Code verändern, dass nicht E-Mail sondern Webseite überprüft wird. Mich irritiert vor allem die Zeile mit

PHP-Code:
 list($LocalPart$DomainPart) = explode("@"$Address); 
da webadressen über kein "@" verfügen. Einfach weglassen funktioniert nicht. Und ehe ich mir alles zerschieße frage ich mal lieber. Die Forumssuche habe ich genutzt, bin aber dahingehend leider nicht fündig geworden.

Vielleicht findet sich jemand, der mir etwas helfen kann oder diesen Code gar selbst nutzt bzw. kennt. Vielen Dank schon mal...
Elbgeist ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.06.2009, 18:27  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Hallo,
du müsstest statt der Emailadresse die Website übergeben und deren Domain in $DomainPart ablegen.
Ich rate dir folgendes:
PHP-Code:
<?php
function isDomainAllowed($website) {
  
$blacklist file("domains.txt"); // read files line by line
  
$blacklist array_map("rtrim"$blacklist); // remove trailing new lines
  
$hostname parse_url($websitePHP_URL_HOST); // get hostname by website
  
return !in_array($hostname$blacklist); // check occurence
}
//
if (!isDomainAllowed($_POST["website"])) {
  
// not allowed
}
?>
Die domains.txt muss die Domains so enthalten, wie sie auch eingegeben werden können:
www.php.de
php.de
..
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 07.06.2009, 18:43  
Neuer Benutzer
 
Registriert seit: 07.06.2009
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Elbgeist befindet sich auf einem aufstrebenden Ast
Standard

Hi Chriz,

vielen dank schon mal für das Aufgreifen des Themas. Einige Fragen mögen vielleicht blöd klingen, aber als Anfänger darf man das denk ich schon mal.... blöd fragen.

Gehe ich recht in der Annahme, dass dieses Script nun eine eigene php-Datei gibt... Name "sowieso.php" ?

Wenn ich jetzt noch wüsste, wie ich das Script mit dem Formular verbinden kann wäre mir verdammt weit geholfen. Das Formular sieht aus wie folgt:

PHP-Code:
<div class="input">Name <?php if ($req_e('(<b>*</b>)'); ?></div>
<input type="text" name="author" id="author" value="<?php echo $comment_author?>" size="40" tabindex="1" />
<div class="input">E-Mail <?php if ($req_e('(<b>*</b>)'); ?></div>
<input type="text" name="email" id="email" value="<?php echo $comment_author_email?>" size="40" tabindex="2" />
<div class="input">Webseite</div>
<input type="text" name="url" id="url" value="<?php echo $comment_author_url?>" size="40" tabindex="3" />
Hast Du dazu vielleicht auch noch ne Idee?

Das mit der domain.txt ist soweit klar...
Elbgeist ist offline  
Alt 07.06.2009, 18:56  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Nichts für ungut, aber wenn du das nicht weißt bist du nicht wirklich dabei PHP zu lernen oder?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 07.06.2009, 20:33  
Neuer Benutzer
 
Registriert seit: 07.06.2009
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Elbgeist befindet sich auf einem aufstrebenden Ast
Standard

Ne will ich nicht lernen. Ich stellte die Frage nur, weil ich bereits mehr als alles über PHP weiß und die Lottozahlen von gestern bereits kenne.
Elbgeist ist offline  
Alt 08.06.2009, 00:21  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Dann probiers mal mit Fantasie, wie könnte das denn funktionieren?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 11.06.2009, 13:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Sinnvoll wäre wohl noch, die Schreibweise einheitlich, bspw. auf Kleinschreibung umzuwandeln.

Zitat:
Ne will ich nicht lernen. Ich stellte die Frage nur, weil ich bereits mehr als alles über PHP weiß und die Lottozahlen von gestern bereits kenne.
Solche Antworten kannst Du Dir echt sparen. Die Frage war berechtigt. Wenn Du php lernen willst, wärst Du sicherlich erstmal mit einem Grundlagenkurs gut beraten.

http://www.php.de/php-einsteiger/489...rundlagen.html

Wenn Du ansonsten nur eine Lösung abgreifen willst und meinst Programmieren meint die Arbeit anderer als Schnipsel zu kombinieren, dann bist Du hier falsch.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--

Geändert von nikosch (11.06.2009 um 13:09 Uhr).
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP: Formular Generator Zergling-new Tutorials 16 06.07.2010 03:14
Formular Felder überprüfen lassen zum 100 mal ^^ Paddy PHP Tipps 2009 8 08.04.2009 17:02
Persistence Framework #Avedo Software-Design 37 28.03.2009 17:32
Formular überprüfen und wieder aufrufen tinchen PHP Tipps 2006 5 12.06.2006 19:14
[JavaScript] Formular inhalt überprüfen moose HTML, Usability und Barrierefreiheit 2 23.03.2006 21:11
[Erledigt] Formular in Formular HTML, Usability und Barrierefreiheit 4 19.10.2005 12:18
Formular Feld überprüfen ? CityHubter HTML, Usability und Barrierefreiheit 3 08.09.2005 11:21
Formular auf vollständigkeit überprüfen! HTML, Usability und Barrierefreiheit 3 26.07.2005 13:21
Formular überprüfen Lia PHP Tipps 2005-2 11 07.06.2005 16:28
Formular überprüfen und eintragen PHP Tipps 2004-2 10 30.12.2004 21:54
[JS] Formular überprüfen I-Spy HTML, Usability und Barrierefreiheit 13 30.12.2004 21:47
Domain überprüfen PHP Tipps 2004-2 16 09.11.2004 16:49
Telefonnummer im Formular überprüfen PHP Tipps 2004 4 04.11.2004 10:51
Mehrseitiges Formular überprüfen? PHP Tipps 2004 9 01.09.2004 00:04
Formular überprüfen flual2000 PHP Tipps 2004 1 12.07.2004 12:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php domain überprüfen, formular überprüfen php, php pfad prüfen domain, .[a-z]{2,4} domain prüfen, php input blacklist, formular per php prüfen, per php e-mail kontakformular prüfen, formular mit php überprüfen, domain überprüfen php, php email domain überprüfung, php formular prüfen, php emailadresse domain überprüfen, email blacklist lookup php script, php list überprüfen, mit php formular überprüfen, php formular überprüfen, if(checkaddress(trim($_post[\'email\']), \./blacklist.txt\)){, php input formular überprüfen, domain blacklist php, domain liste prüfen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum