Suche auf lima-city
-
in: Mit PHP HTML-Dateien generieren
geschrieben von favoriten
Hallo
hier nochmal eine erweiterte Version von meinem BSP
mit der Variable
kannst Du einstellen,$runtype = 'test';
ob das Script nur eine Test DEBUG Ausgabe mit <pre> macht
oder ob es wirklich den Ordner und die Datei erstellen soll
<?php // ---------------------------------------------------------------- header("Content-Type: text/html; charset=utf-8"); mb_internal_encoding('UTF-8'); ## $runtype = 'live'; // ----- erstellt Dir und File ----- $runtype = 'test'; // ----- nur Test DEBUG Ausgabe ----- // ---------------------------------------------------------------- ?> <html> <head> <title>Seite erstellen</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <h1>Seite erstellen</h1> <hr> <?php // ---------------------------------------------------------------- function escape_user_input($strvar) { if (mb_detect_encoding($strvar, 'UTF-8', true) === false) { $strvar = utf8_encode($strvar); } $strvar = strip_tags($strvar); $strvar = stripslashes($strvar); $strvar = html_entity_decode($strvar); $replace = ' '; $strvar = str_replace("\s",$replace,$strvar); $strvar = trim(preg_replace('/ {2,}/',$replace,$strvar)); $zeichen = '0-9a-zA-Z_ \-'; $umlaute = utf8_encode('äöüßÄÖÜ'); $pattern = '/'.$zeichen.$umlaute.'/u'; $strvar = preg_replace($pattern,$replace,$strvar); $strvar = trim($strvar,$replace); return $strvar; } // ---------------------------------------------------------------- function clean_dirname($strvar) { $spacer = '-'; $strvar = mb_strtolower($strvar); $strvar = str_replace(' ', $spacer, $strvar); $strvar = str_ireplace(array(utf8_encode('ä'),utf8_encode('ö'),utf8_encode('ü'),utf8_encode('ß')), array('ae','oe','ue','ss'), $strvar); $strvar = trim($strvar,$spacer); return $strvar; } // ---------------------------------------------------------------- if (!empty($_POST['bezeichnung']) && !empty($_POST['zielurl'])) { $go_bezeichnung = trim($_POST['bezeichnung']); $go_zielurl = trim($_POST['zielurl']); $go_datum = trim($_POST['datum']); $go_bezeichnung = escape_user_input($go_bezeichnung); $go_zielurl = escape_user_input($go_zielurl); $go_dirname = clean_dirname($go_bezeichnung); // ------------------------------------------ $content = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>'.$go_bezeichnung.'</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="refresh" content="3; URL='.$go_zielurl.'"> <meta name="date" content="'.$go_datum.'"> </head> <body bgcolor="#FFFF33" text="#000000" link="#0000CC"> <div align="center"> <h1>'.$go_bezeichnung.'</h1> <br> <h3>Sie werden in Kürze weitergeleitet.</h3> <br> <p>Falls nicht, klicken Sie bitte <a href="'.$go_zielurl.'" title="'.$go_bezeichnung.'"><strong style="font-size:24px;">hier</strong></a>.</p> <br> </div> </body> </html> '; // ------------------------------------------ if (!is_dir($go_dirname)) { $filepath = ''; // ------------------------------------------ if ($runtype == 'live') { $new_dir = mkdir($go_dirname, 0766); if (!$new_dir) { die('Fehler ... konnte das Verzeichnis nicht erstellen'); } else { print '<p>OK ... Verzeichnis: <a href="'.$go_dirname.'" target="_blank"><strong>'.$go_dirname.'</strong></a> wurde erstellt</p>'."\n"; } $filename = 'index.html'; $filepath = $go_dirname.'/'.$filename; $new_file = file_put_contents($filepath, $content, LOCK_EX); if (!$new_file) { die('Fehler ... konnte die Datei nicht erstellen'); } else { chmod($filepath, 0755); print '<p>OK ... Datei: <a href="'.$filepath.'" target="_blank"><strong>'.$filepath.'</strong></a> wurde erstellt</p>'."\n"; } } else { print '<br>'."\n"; print '<br>'."\n"; print '<pre style="text-align:left; background:#DEDEDE;">'."\n"; print htmlentities(print_r($content,true)); print '</pre>'."\n"; } // ------------------------------------------ print '<br>'."\n"; print '<br>'."\n"; print '<br>'."\n"; print '<p>Erstellt am: '.$go_datum.'</p>'."\n"; print '<br>'."\n"; print '<p>PathDirName: '.$go_dirname.'</p>'."\n"; print '<br>'."\n"; print '<p>Bezeichnung: '.$go_bezeichnung.'</p>'."\n"; print '<br>'."\n"; print '<p>URL Adresse: '.$go_zielurl.'</p>'."\n"; print '<br>'."\n"; print '<br>'."\n"; print '<br>'."\n"; print '<p>Neu starten .... <a href="javascript:history.back();">Seite erstellen</a></p>'."\n"; print '<br>'."\n"; // ------------------------------------------ } else { print '<br>'."\n"; print '<p>Fehler .... Das Verzeichnis <a href="'.$go_dirname.'" target="_blank"><strong>'.$go_dirname.'</strong></a> existiert bereits.'."\n"; print '<br>'."\n"; } // ------------------------------------------ } else { // ---------------------------------------------------------------- ?> <form name="form1" method="post" action=""> Bezeichnung: <input type="text" name="bezeichnung" size="50" maxlength="100"> <br> Ziel URL: <input type="text" name="zielurl" size="50" maxlength="150"> <br> <input type="hidden" name="datum" value="<?php echo date('Y-m-d H:i:s'); ?>"> <br> OK ........ <input type="submit" name="go" value="Speichern"> </form> <br> <br> <?php // ---------------------------------------------------------------- } // ---------------------------------------------------------------- ?> <br> <br> </body> </html>
jetzt mit der Funktion: escape_user_input() ... zum Filtern der User-Eingaben
und mit der Funktion: clean_dirname() ... damit Directory keine Sonderzeichen bekommt
aber ...
... auch wenn Du den Seiten Subdomains zuordnen willst,
... dann geht das ebenso dynamisch (z.B. mit mod_rewrite)
... ohne solche statischen Ordner und Dateien erstellen zu müssen.
-
in: Mit PHP HTML-Dateien generieren
geschrieben von favoriten
Hallo
hier als BSP mit Formular zur Eingabe der Bezeichnung und Zielurl
folgenden Quellcode in eine .php Datei speichern (z.B. make_site.php oder so)
<html> <head> <title>Seite erstellen</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <h1>Seite erstellen</h1> <hr> <?php // ---------------------------------------------------------------- if (!empty($_POST['bezeichnung']) && !empty($_POST['zielurl'])) { $go_bezeichnung = trim($_POST['bezeichnung']); $go_zielurl = trim($_POST['zielurl']); $go_datum = trim($_POST['datum']); $content = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>'.$go_bezeichnung.'</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="refresh" content="3; URL='.$go_zielurl.'"> <meta name="date" content="'.$go_datum.'"> </head> <body bgcolor="#FFFF33" text="#000000" link="#0000CC"> <div align="center"> <h1>'.$go_bezeichnung.'</h1> <br> <h3>Sie werden in Kürze weitergeleitet.</h3> <br> <p>Falls nicht, klicken Sie bitte <a href="'.$go_zielurl.'"><strong style="font-size:24px;">hier</strong></a>.</p> <br> </div> </body> </html> '; if (!is_dir($go_bezeichnung)) { $new_dir = mkdir($go_bezeichnung); if (!$new_dir) { die('Fehler ... konnte Verzeichnis nicht erstellen'); } $filename = 'index.html'; $filepath = $go_bezeichnung.'/'.$filename; $new_file = file_put_contents($filepath, $content, LOCK_EX); if (!$new_file) { die('Fehler ... konnte die Datei nicht erstellen'); } print '<br>'."\n"; print '<p>OK ... Verzeichnis und Datei erstellt ... <a href="'.$filepath.'" target="_blank"><strong>'.$filepath.'</strong></a></p>'."\n"; print '<br>'."\n"; print '<p>Erstellt am: '.$go_datum.'</p>'."\n"; print '<br>'."\n"; print '<br>'."\n"; print '<p>Neu starten .... <a href="javascript:history.back();">Seite erstellen</a></p>'."\n"; print '<br>'."\n"; } else { print '<br>'."\n"; print '<p>Fehler .... Das Verzeichnis <a href="'.$go_bezeichnung.'" target="_blank"><strong>'.$go_bezeichnung.'</strong></a> existiert bereits.'."\n"; print '<br>'."\n"; } } else { // ---------------------------------------------------------------- ?> <form name="form1" method="post" action=""> Bezeichnung: <input type="text" name="bezeichnung" size="50" maxlength="100"> <br> Ziel URL: <input type="text" name="zielurl" size="50" maxlength="150"> <br> <input type="hidden" name="datum" value="<?php echo date('Y-m-d H:i:s'); ?>"> <br> OK ........ <input type="submit" name="go" value="Speichern"> </form> <br> <br> <?php // ---------------------------------------------------------------- } // ---------------------------------------------------------------- ?> <br> <br> </body> </html>
aber das nur als rudimentäres Beispiel,
habe den Seiten-Code bischen geändert / erweitert ... refresh = 3 Sekunden, usw.
... das mit dem Datum kannst Du auch weg lassen ... aber egal
die User-Eingaben aus Formular ($_POST['bezeichnung'], etc)
sollte man dringend vor der Weiter-Verwendung noch prüfen / filtern
damit damit kein Unfug gemacht werden kann (hacking)
aber wie schon gesagt wurde, stellt sich die Frage, warum statisch speichern,
das geht auch dynamisch ... z.B. auch über mod_rewrite
EDIT ... PS ... das Thema gehört ins PHP-Forum und nicht ins HTML-Forum
evtl. bitte verschieben ...
-
in: Mit IP 127.0.0.1 User-Anmeldung
geschrieben von favoriten
die Seite läuft auf lima-city,
also selbst wenn sich jemand bei meinem Client ein-gehackt hätte,
ware die IP dann ja wohl auch nicht 127.0.0.1
egal, es ist alles geklärt, siehe Beitrag @hackyourlife
-
in: Mit IP 127.0.0.1 User-Anmeldung
geschrieben von favoriten
ja, die Anmeldungen mit der 127.0.0.1 waren alle ca. Mitte Oktober 2013
ok, dann bin ich ja beruhigt, dachte schon jemand hatte seine IP ge-faked ....
-
in: Mit IP 127.0.0.1 User-Anmeldung
geschrieben von favoriten
Hallo
ich habe auf meiner internen Seiten-Statistik gesehen
dass sich einige User mit der IP-Adresse: 127.0.0.1 angemeldet haben ?!?
... aber wie ist das Möglich ... das ist eine localhost IP, und keine User-IP ?
Zur Anmeldung muss User ein Formular ausfüllen,
und die IP bei Anmeldung erfasse ich mit:
$userip = $_SERVER["REMOTE_ADDR"];
(wie) kann ein User seine eigene IP-Adresse faken?
... und ... deutet das auf eine Anmeldung per Script hin ?
aber dann müsste doch die IP des Server kommen ?
(wie) kann ich immer die "richtige" User-IP ("REMOTE_ADDR") erfassen,
bzw. wie kann ich eine IP-Sperre machen, die solche IPs zucht zulässt ?!
EDIT: wie kann ich solche Script-Anmeldungen verhindern / blocken ?
-
in: Alexa XML und deren Parameter
geschrieben von favoriten
hmm ok,
also einen "kostenpflichtigen" Service will ich nicht nutzen.
darf ich denn mit der Alexa-Toolbar Abfrage überhaupt auf eigenen Webseiten arbeiten,
um damit den Alexa-Rank für Domains zu ermitteln ? (und ob evtl. in DOMZ eingetragen)
... aber noch ist mir das mit den &dat Werten nicht ganz klar
habe mal zum Test jeden einzeln angewendet,
bei vielen kommt immer genau der gleiche Result (das gleiche XML Ergebnis)
?
-
in: Alexa XML und deren Parameter
geschrieben von favoriten
Hallo
ich habe verschiedene Codes gefunden um Alexa XMl Daten zu einer URL zu holen
aber leider finde ich keine Doku, welche Parameter man einsetzen kann
und was diese Parameter bewirken ...
BSP:
$aleyaurl = 'http://data.alexa.com/data?cli=10&dat=s&url='.$checkurl;
$aleyaurl = 'http://data.alexa.com/data?cli=10&dat=nsa&url='.$checkurl;
$aleyaurl = 'http://data.alexa.com/data?cli=10&dat=snbamz&url='.$checkurl;
?cli=10&dat=s
?cli=10&dat=nsa
?cli=10&dat=snbamz
wo finde ich eine Tabelle (oder Doku), welche Werte ich für dat nehmen kann,
... was ist cli ... ?
... was diese einzelnen dat-Werte bewirken ?! und welche es gibt
am besten auch gleich welche anderen Parameter es für diese Abfrage gibt
kennt jemand ne gute Liste der Parameter und deren Bedeutung ?!
Danke!
-
in: Javascript Array Ausgabe ... NaN
geschrieben von favoriten
HAllo
mach mal das Array so, dass nicht jede Zeile wieder infodata[<KEY>] = steht
sondern den String einfach bei neuer Zeile mit + anhängen ...
var infodata = new Array(); infodata[0] = '<a name="anker1">Info Nr:1</a>' +'<div class="info">' +'<h2>Titel1 der Info1</h2>' +'<p>Text1 Zeile 1 ... text <i>Blabla</i> text html blablabla ... </p>' +'<p>Text1 Zeile 2 ... text <u>Blabla</u> text html blablabla ... </p>' +'<p>Text1 Zeile 3 ... text <i>Blabla</i> text html blablabla ... </p>' +'</div>' +'<p> </p>'; infodata[1] = '<a name="anker2">Info Nr:2</a>' +'<div class="info">' +'<h2>Titel2 der Info2</h2>' +'<p>Text2 Zeile 1 ... text <i>Blabla</i> text html blablabla ... </p>' +'<p>Text2 Zeile 2 ... text <u>Blabla</u> text html blablabla ... </p>' +'<p>Text2 Zeile 3 ... text <i>Blabla</i> text html blablabla ... </p>' +'</div>' +'<p> </p>';
dann sollte es funktionieren
-
in: Prüfen ob externe Webseite erreichbar ist ?
geschrieben von favoriten
Hallo
kann ich auch mit JavaScript bei einer Formular-Eingabe einer URL (http-Adresse)
prüfen, ob die eingegebene URL auch erreichbar ist ?
so, dass bei Eingabe von http://hdökjahskajhdfh.xyz
eine Entsprechende Meldung kommt: Die eingetragene URL ist nicht erreichbar
(mit PHP kann man das ja irgendwie it fsockopen() machen,
aber was tun, wenn ein Webspace keine externen php Anfragen zulässt ? (allow_url_fopen off)
geht so eine Prüfung auch mit JS (oder jQuery) ??
Danke!
-
in: cookies mit mehreren Werten?
geschrieben von favoriten
Danke, das ist ne gute Idee
einfach mehrere Werte mit einem Trenner Zeichen eintragen,
und mit explode() wieder auseinader friemeln
kann ich denn angeben, welchen "Dateiname" das Cookie haben soll,
oder wird immer automatisch der Domainname genommen ?
-
in: 02 Werbung auf der Startseite
geschrieben von favoriten
kann man nicht beim iframe, in dem der banner angezeigt wird auch ein target="_blank" defineren ?
oder halt direkt im Link-Code vom Werbebanner den target="_blank" setzen (soweit das erlaubt ist)
-
in: globale Variablen in Funktion
geschrieben von favoriten
Hallo
ich möchte innerhalb einer Funktion auf Variablen zugreifen,
die aber nicht bei Funktionsaufruf mit den Parametern übergeben werden
Die Funktion soll MySQL Anfragen ausführen.
Die "globale" Variable ist der Tabellen-NAme und steht in einer includeten config.php
Wie ist es besser die Variablen global zu definieren,
a) vor dem Funktions-Aufruf mit define("USER_TABELLE", $tabname_user);
b) oder innerhalb der Funktion als global $tabname_user;
...... was ist besser ..... und was ist der Unterschied?
Danke!
-
in: cookies mit mehreren Werten?
geschrieben von favoriten
Hallo
wie kann ich ein Cookie mit mehreren Werten setzen
so dass dabei nicht mehrere Cookie-Dateien entstehen ?
für einen Wert so
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */
aber mehrere ?