PHP - Tipps und Tricks: Unterschied zwischen den Versionen
| Zeile 1: | Zeile 1: | ||
| + | == Links == | ||
| + | http://www.phpbuddy.eu/ | ||
| + | |||
| + | |||
| + | |||
== E-Mails mit php versenden == | == E-Mails mit php versenden == | ||
[[PHP - E-Mail versenden]] | [[PHP - E-Mail versenden]] | ||
Version vom 13. März 2012, 11:35 Uhr
Links
E-Mails mit php versenden
Bilder schützen und nur über php ausliefern
1a Schutz per htaccess, so daß nur Zugriffe vom eigenen Server zulässig sind. 1b. Verzeichnisrechte so setzen, daß nur php-Nutzer lesen kann (oder einfach ein schwer zu erratender Verzeichnisname) -> kann man aber z.B. mit iFrame umgehen ist also weniger als Schutz praktisch, reicht aber, wenn man zur Laufzeit eine andere Variante des Bildes liefern will. 2. PHP Skript liefert die Bilder -> hier kann man dann User Access, Zeitsteuerung etc. regeln.
Beispiel htaccess:
Zugriff auf das Verzeichnis nur über php nicht über direktzugriff
order deny,allow deny from all
Hierbei sind auf Bilder nur Zugriffe von der eigenen Domain erlaubt, ansonsten kommt ein Ersatzbild. Eignet sich z.B. um Traffic durch Bilderklau vorzubeugen.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?mydomain.de(/.*)?$ [NC]
RewriteRule .(gif|jpg|GIF|JPG)$ http://www.myDomain.de/images/ersatz.gif [R,L]
<?php
if ($_SESSION['eingeloggt'] == true) {
header('Content-Type: image/jpeg');
readfile('bild.jpg');
} else {
echo 'Kein Direktzugriff erlaubt';
}
?>
Weitere Beispiele mit htaccess:
Beispiel mit Ersatzgrafik und mehreren URL's: Kann ja sein, dass man mehrere Homepages hat, die darauf zurückgreifen dürfen. Folgendes überträgst Du ins Notepad und speicherst es als .htaccess ab:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?webmaster-eye.de(/.*)?$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.)?mynickpage.de(/.*)?$ [NC]
RewriteRule .(gif|jpg|GIF|JPG)$ http://www.webmaster-eye.de/images/ersatz.gif [R,L]
Beispiel mit dem roten X:
Folgendes überträgst Du ins Notepad und speicherst es als .htaccess ab:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?webmaster-eye.de(/.*)?$ [NC]
RewriteRule .(gif|jpg)$ - [F]
Quelle der htaccess Beispiele: http://www.webmaster-eye.de/Traffic-sparen-mit-htaccess-als-Bilder-Schutz.242.artikel.html (11/2011)
Weiterleitung mit PHP
header("Location: http://www.myHomepage.net");
exit;
Ausgaben zwischenspeichern oder in Variablen umleiten
Problem: Die Ausgabe von echo oder von includes soll zuerst in einer Variablen gespeichert werden, damit Sie nicht gleich ausgegeben werden.
Das läßt sich lösen indem man die Ausgabe zunächst puffert und dann den Puffer in eine Variable lädt.
basicartsstudios at hotmail dot com
21-Jan-2007 10:39 Sometimes you might not want to include a php-file under the specifications defined in the functions include() or require(), but you might want to have in return the string that the script in the file "echoes".
Include() and require() both directly put out the evaluated code.
For avoiding this, try output-buffering:
<?php ob_start(); eval(file_get_contents($file)); $result = ob_get_contents(); ob_end_clean(); ?>
or
<?php ob_start(); include($file); $result = ob_get_contents(); ob_end_clean(); ?>
which i consider the same, correct me if I'm wrong.
Best regards, BasicArtsStudios
Umlaute, UTF-8 und PHP: wenn Sonderzeichen falsch dargestellt werden
Quelle: http://www.sjmfreelancing.de/devblog/umlaute-utf-8-und-php.html (15.10.2008)
Ich habe des öfteren das Problem gehabt, dass Sonderzeichen auf PHP-basierten Internetseiten nicht korrekt angezeigt wurden und Firefox ein gerahmtes Fragezeichen statt Ü, ü etc. ausgab, der Internet Explorer einen Kasten und auch Safari&Co. Probleme hatten.
Lange war ich auf der Suche nach der richtigen Lösung für dieses Problem und habe mich durch unterschiedliche Blogs, Foren und Internetseiten gewühlt bis ich letztendlich eine Ansammlung verschiedenster Tipps & Tricks aufgenommen und in Kombination angewandt habe. Und siehe da: Sonderzeichen sind korrekt :)
Hier ein paar Dinge, die jeder Programmierer beherzigen sollte, wenn er mit Umlauten umgeht: 1. Header korrekt setzen Mit einem Einzeiler kann man PHP dazu bringen einen UTF-8-Header an den Browser zu senden. Einfach folgenden Code ganz oben in der Index-Datei setzen:
header('content-type: text/html; charset=UTF-8');
2. HTML-Header korrekt setzen
Folgenden Code in den HEAD-Bereich des HTML-Dokuments setzen: view plaincopy to clipboardprint?
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
3. PHP-Dateien im UTF-8-Format speichern
Ganz wichtig ist es die PHP-Dateien die man verwendet im UTF-8-Format zu speichern. Sprich: den Editor dazu zu bringen, die Datei mit Umlauten zu speichern. 4. MySQL dazu bewegen UTF-8 zu nutzen
MySQL liefert auch nicht (immer) von Haus aus UTF-8-korrekte Ausgaben. Folgendes MySQL-Query einfach nach dem connecten mit der Datenbank ausführen:
mysql_query('set character set utf8;');
5. Das &-Zeichen immer escapen
Zwar nicht direkt ein Problem, aber: ü, ä, ß etc. sind auch dann korrektes HTML, wenn man sie nicht mittels htmlentities in Entitäten umgewandelt hat. Anders sieht es mit dem Kaufmanns-Und (&) aus: diesen IMMER mit & ausgeben. Auch bei Links gilt: & durch & ersetzen!
Validieren von Werten aus Eingabefeldern
PHP - Validierung von Werten aus Eingabefeldern