Wortspiel! Was man mit Flash neben reinen Animationen noch alles machen kann, zeigt das hier vorliegende Wortspiel. Diese gesteuerte Animation ist gerade einmal 22 kb groß (etwa soviel, wie ein kleineres Bild) [mehr]
Was bietet Joomla? Standardmäßig kommt Joomla mit einer starken Benutzerverwaltung daher, einzelne Module wie Terminplaner, Newsletter, Newsflash, Umfragen, RSS, Down- und Upload von Dateien (selbstverständlich nach Benutzerebenen), Bildimport und usw. lassen kaum Wünsche o [mehr]
Datensicherheit Sicherheitskonzepte für Webseiten und Hompages setzen zunächst einmal voraus, dass man alle potentiellen Schwachstellen und Angriffspunkte kennt. Ein geschützer Bereich, wo etwa nur der Administrator oder bestimmte Benutzer Zugriff haben sollen, ist... [mehr]
Webseitenmanufaktur:
Webdesign aus Leipzig
Wir erstellen kostengünstig Ihren Internet-Auftritt /
Ihre Homepage auf Basis von HTML, PHP und MySQL.
Unsere Dienstleistungen umfassen neben dem Webdesign auch
CMS, Shopsysteme, Umfragen, Adressdatenbanken, Flash.
Für Joomla übernehmen wir die für Sie wichtigen
grafischen und strukturellen Anpassungen (Templates, Menüs,
Module) sowie auf Ihren Wunsch eine zeitlich begrenzte Administration.
Unsere Zielgruppe sind Privatpersonen und kleinere Firmen
in und um Leipzig.
Die folgenden Beispiele dürfen Sie
für private Zwecke frei verändern
verwenden. Eine kommerzielle Nutzung ist nicht gestattet.
1.
HTML:
Einige Tipps für die Erstellung von Webseiten
Metatags sind jene Zeilen
einer jeden HTML-Seite, die den Suchmaschinen (und teilweise
auch den Browsern) das Leben erleichtern. Diese Tags richtig
und vollständig auszufüllen sind ein Muss für
jede Webseitenerstellung. Hier eine Liste möglicher Tags
mit Erklärung.
<meta name="keywords" content="Mit
Komma getrennte Stichworte des Seiteninhalts">
<meta name="description" content="Langbeschreibung
des Seiteninhalts">
<meta name="DC.Description" content="Kurzbeschreibung
des Seiteninhalts">
<meta name="title" content="Seitentitel">
<meta name="language" content="German, de,
deutsch">
<meta name="author" content="Name vom Autor">
<meta name="publisher" content="Name vom
Betreiber">
<meta name="copyright" content="Name vom
Rechteinhaber">
<meta name="revisit-after" content="Zeitdauer
in Tagen, wann Robots wieder vorbeischauen sollen">
<meta name="date" content="Tag Erstellung">
<meta name="robots" content="index,follow
(sollen robots den Links folgen?)">
<meta name="generator" content="http://...Seitenadresse">
2.
CSS-Styling
ist ein (leider von manchen Browsern noch nicht einheitlich
verarbeitbarer) Weg, skalierbare Schriften, Buttons,
Flächen usw. variabel zu gestalten. Man kann das
Styling direkt in die HTML-Seite schreiben, besser ist
jedoch das Verwenden einer einheitlichen CSS-Datei,
die dann in der jeweiligen Seite eingebunden wird.
Hier ein Beispiel für die Veränderung
der ansonsten recht langweiligen Buttons,
ohne auf grafische Lösungen zurückzugreifen.
so sieht ein Button normalerweise aus:
und so kann man ihn verändern:
[Im Internet-Explorer erfolgt die
Darstellung korrekt mit Cursor-Hand, Firefox bis 1.5 kann
das noch nicht...]
Um diesen Button-Effekt zu erreichen muss
in der CSS-Datei eine Klasse definiert werden, z.B. ...
Das wird natürlich
kein PHP-Manual, sondern nur das, was
man auch anderen ruhig mitteilen sollte.
Wie Sie sicherlich bemerkt haben werden
in die linke Spalte stets wechselnde Texte dynamisch
geladen - es handelt sich um ein kleines CMS.
Wie wird es realisiert?
Zunächst müssen Sie eine Tabelle anlegen, in der
Textüberschrift, Haupttext und Textlink abgelegt werden
können. An der abzurufenden Stelle fügen Sie den
Funktionsaufruf zum Laden eines per Zufall ausgewählten
Text-Datensatzes ein, wobei Sie den PHP-Code natürlich
in HTML-Formatierungen einschließen müssen. Etwa
so:
<p class="UeberschriftFormat">
/* CSS-Style für die Überschrift */
<?php
$datensatz=load_text(); //Funktionsaufruf zum Laden des Textes
echo $datensatz['text_ueberschrift']; //Ausgabe der Überschrift
?>
<br>
<span class="TextSpalteNormal"> /* CSS-Style
für den Lauftext */
<?php echo $datensatz['text_haupttext']; //Ausgabe Haupttext
$link=$datensatz['text_link'];
echo"<a href=\"$link\">[mehr]</a>";
//Ausgabe Link
?>
</span></p>
Die Funktion befindet sich wie immer in
einer versteckt abgelegten Datei, wo auch die Verbindungsdaten
zur Datenbank abgelegt wurden. Die Funktion sieht so aus:
function
load_text()
{
$sql="SELECT * FROM texttabelle";
$result=mysql_query($sql) or die("Verbindungsfehler".mysql_error()."$sql");
$num=mysql_num_rows($result); //Anzahl der Texte feststellen
$wahl=rand(1,$num); //einen auswählen
While($num<$wahl) //sucht den zufällig ausgewählten
{
$datensatz=mysql_fetch_array($result);
$num++;
};
return $datensatz; //übergibt den Datensatz an ein Array
};
Eine Weiterentwicklung besteht darin, gleich zwei - aber unterschiedliche
Texte zu laden. Dazu werden einfach solange zwei Zufallswerte
gebildet, bis Sie nicht mehr gleich sind (;->
vielleicht könnte man es noch komplizierter ausdrücken?).
Wer sich über unliebsame
Gästebucheinträge durch Robots mit fiktiven
IP's ärgert kann diese derzeit (noch) durch das Einfügen
einer grafischen "Abfrage" verhindern. Einfach eine
Grafik mit einer Buchstabenkombination neben den Absendeknopf
legen und diesen "Anti-Spamcode" in einer extra
Zeile des Formulars eintippen lassen. Vor dem Datenbankeintrag
erfolgt dann die if-Abfrage, ob es auch diese Buchstabenfolge
ist. Mal sehen, wie lange es dauert, bis die spam-bots diese
if-abfrage automatisch "knacken"...
Ergänzend sollte man nur dann einen Text durchlassen,
wenn er keinen String "http://" enthält, da
die meisten Spammer genau so etwas hinterlassen.
Wie sichere ich mit PHP eine Seite
vor unliebsamen Besuchern? Zunächst werden an "richtig"
eingeloggte Besucher Session-Variablen vergeben, diese müssen
dann auf jeder relevanten Seite geprüft werden. Falls
diese Session-Variablen nun nicht identisch mit der "richtigen"
ist, muss derjenige Besucher rausgeworfen werden. Und das
geht so:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.meineseite.de/fehler.html");
?>
Dabei muss diese Anweisung an oberster
Stelle im Code stehen.
Zerlegen eines Timestamp
(z.B. 2006060512143311) in Tag, Monat Jahr:
Logdaten
mitschreiben: Man schreibt an die Stelle, wo Logdaten gespeichert
werden sollen, den Aufruf einer Funktion mit dem entsprechenden
Hinweis, z.B. dann, wenn ein Nutzer seine Daten geändert
hat und kein Fehler auftrat:
Die Tabelle der Datenbank
heißt hier logdata, die Felder wie in der Klammer angegeben.
Zuvor muss natürlich eine Verbindung zur Datenbank (connect)
bestehen. Und der Timestamp muss in der Tabelle als solcher
angegeben werden.
Wie zeigt man mit PHP in
Eingabefeldern einen aus der Datenbank (oder in Session-Variablen)
gelesenen (bzw. gespeicherten) Wert an? Indem man ihn dort
mit "echo" ausgibt:
Hier haben wir ein Eingabetextfeld Vorname,
dessen "value" auf ein PHP-Echo gestellt ist. Zuvor
muss natürlich der Datensatz in das Array $datensatz
eingelesen werden (bzw. das Ganz als echo einer Variable definiert
werden).
4.
MySQL
Um Passwörter oder andere sicherheitsrelevanten
Daten auch tatsächlich sicher zu speichern (auch sicher
vor den Administratoren!) ist es sinnvoll, die MySQL-Verschlüsselung
MD5 zu benutzen.
SET passwort=MD5('$passwort')
Dazu muss das Feld in der Tabelle ein
Varchar der Länge 32 sein.
Nachteil dieser Methode: Es kommt wirklich keiner mehr ran
- und ein vergessenes Passwort muss auf einen zu mailenden
Zufallswert gestellt werden.