• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Bewertung private Website

mustang

Mitglied
Hallo Leute,

ich arbeite nun schon eine weile an meiner privaten Homepage.
Hier sollen viele Dinge zusammen kommen. das heißt ich möchte hier zu mir sachen schreiben - was ich mache, etc. und auch selber gerne sachen veröffentlichen, wie zum beispiel links zu interessanter software und so weiter. was einem halt so einfällt.
einen teil habe ich auch der ahnenforschung meiner familie gewidmet.

Robert Kalb

zu testen wären definitiv die unterschiedlichen sprachen (achtung schul-english ... verbesserungen erwünscht :D ) und natürlich das design. ob es ansprechend ist.
vielleicht findet ihr ja auch fehler im code.

viel spaß :-)
 
Werbung:
Hallo Robert,

zunächst einmal möchte ich hervorheben, was mir an deinem bisherigen Design gefällt:

- Der langsam wechselnde Hintergrund lässt die Seite interessant wirken.
- Die Seite ist sehr übersichtlich aufgebaut.

Und das würde ich noch verbessern:

- Verwende eine andere Schriftart, zum Beispiel Arial oder Verdana - Serifen lassen deine Seite zu unruhig wirken.
- Die Überschrift "Robert Kalb" sollte meiner Meinung nach etwas größer sein, etwas mehr Abstand von der Box haben und am besten weiß sein, damit man sie auf den Hintergründen besser lesen kann.

So, und jetzt noch ein paar allgemeine Dinge, die du beachten solltest:

Wenn ein Benutzer deine Seite ohne JavaScript besucht, bekommt er die wenig freundliche Meldung "Achtung! Sie müssen JavaScript für diese Seite aktivieren!" präsentiert. Außerdem ragen die Hintergrundbilder untereinander aus dem Fenster. Ich würde dir folgende Strategie empfehlen, um auch Besuchern ohne JavaScript deine Seite angenehm zugänglich zu machen (denn im Prinzip benötigt deine Inhalte kein JavaScript, nur dein Design):

1.) Entferne den Hinweis "Achtung! Sie müssen JavaScript für diese Seite aktivieren!". (HTML anpassen)
2.) Sorge dafür, dass standardmäßig nur ein Hintergrundbild angezeigt wird. (CSS anpassen)
4.) Per JavaScript wird dieses Hintergrundbild dann ausgetauscht. (JavaScript anpassen)

Auf diese Weise können auch Benutzer ohne JavaScript deine Seite ohne Probleme benutzen.

Abschließend möchte ich dir noch ein paar Hinweise zu deinem HTML-Code geben.
Dein Quellcode ist durchzogen von kleineren Fehlern, die sich zwar durchaus summieren, aber im Prinzip leicht zu beheben sind:

1.) Leere Elemente werden in XHTML mit einem Slash beendet ( />):

Falsch:
HTML:
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">

Richtig:
HTML:
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

2.) Die Elemente "font" und "center" werden in der Regel nicht mehr verwendet, da sie nur zu Darstellungszwecken dienen.

Falsch:
HTML:
<center><font class="zitat">Der frühe Vogel fängt den Wurm,<br />aber erst die zweite Maus bekommt den Käse.</font></center>

Richtig:
HTML:
<p><q>Der frühe Vogel fängt den Wurm,<br />aber erst die zweite Maus bekommt den Käse.</q></p>

Das Element "q" zeichnet einen Satz als Zitat aus.
Mit wenigen Zeilen CSS kannst du nun die gewünschte Darstellung erreichen:

HTML:
q
{
  font-style: italic;
  font-size: 18px;
  text-align: center;
}

So kannst du Inhalt und Darstellung optimal von einander trennen.

3.) Du verwendest Zeilenumbrüche (<br />), um Absätze zu erzeugen. Dafür sollte man aber p-Elemente verwenden.

Falsch:
HTML:
<div id="content"> 
<h1>Willkommen</h1> 
(...)
<p>Ihr seid vielleicht durch eine Visitenkarte, einen Link, eine Suchmaschine oder durch mich auf meiner Website gelandet.<br /><br /> 
Hier findet Ihr Informationen zu mir, meinen Jobs, meiner Freizeit, nützliche Software und vieles mehr. Schaut euch in aller Ruhe um - bei Fragen einfach mal über das Kontakformular eine Nachricht hinterlassen.<br /><br /> 
Viel Spaß</p> 
<br />
(...)
</div>

Richtig:
HTML:
<div id="content"> 
<h1>Willkommen</h1> 
(...)
<p>Ihr seid vielleicht durch eine Visitenkarte, einen Link, eine Suchmaschine oder durch mich auf meiner Website gelandet.</p>
<p>Hier findet Ihr Informationen zu mir, meinen Jobs, meiner Freizeit, nützliche Software und vieles mehr. Schaut euch in aller Ruhe um - bei Fragen einfach mal über das Kontakformular eine Nachricht hinterlassen.</p>
<p>Viel Spaß</p> 
(...)
</div>

4.) Du verwendest HTML-Attribute, um die Darstellung zu beeinflussen. Diese sollte man besser in die Stylesheets auslagern:

Falsch:
HTML:
<p><img src="bilder/pics/portrait.jpg" align="left" hspace="10" vspace="10" width="200" height="208" alt="portrait" /></p>

Richtig:
HTML:
<p class="portrait"><img src="bilder/pics/portrait.jpg" width="200" height="208" alt="portrait" /></p>

Und die Darstellung kommt in den Stylesheet:

HTML:
.portrait { float: left; }
.portrait img { margin: 10px; }

Das gleiche gilt natürlich auch für die Fahnen, über die man die Sprache einstellen kann.

Das wären erst einmal die groben Fehler in deinem Quelltext, die mir aufgefallen sind.
Wenn du weitere Fragen hast bzw. einer meiner Verbesserungsvorschläge nicht genau das macht,
was du erreichen wolltest, stehe ich natürlich weiterhin gerne zur Verfügung ;)

Zusammenfassend kann ich also sagen, dass du auf dem richtigen Weg bist, eine gute Webseite zu erstellen.
Die kleineren Fehler hier und da lassen sich einfach beheben und auch das Design kann man mit wenigen Zeilen CSS gut verbessern.
Weiter so! :)
 
na das klingt schon mal gut.

die kleinen fehler werde ich gleich mal ändern. aber bin schon mal froh, dass es nichts grundsätzliches ist (also nicht wirklich).

danke dir für die vorallem echt gute erklärung "falsch/richtig". das hilft ungemein :D

änderung:

so habe jetzt bisschen dran gearbeitet. hat auch soweit ganz gut funktioniert.
die sache mit dem javascript... die discussion kennt man ja schon - ich habe mich entschieden, dass 96% aller internetuser als zielgruppe reichen. gibt bei mir ein paar sachen, die auf javascript aufgebaut sind. merkt man vielleicht nicht, aber zum beispiel wechseln die hintergrundbilder, wenn man auf "genealogie" geht.
nutze dafür javascript, weil ich gerne eine feste grundstruktur habe. und wenn ich auf einzelnen seiten etwas ausschalten, ändern, oder hinzufügen will, dann nutze ich javascript. ;-)

PS.: natl werde ich die design-sachen trotzdem so machen, dass man es auch ohne js sehen kann^^
 
Zuletzt bearbeitet:
Werbung:
Wichtiger Sicherheitshinweis

Dein Gästebuch enthält eine XSS-Sicherheitslücke.
Auf diese Weise ist es möglich, fremden JavaScript- und HTML-Code in deine Seite einzuschleusen.
Momentan sieht jeder Besucher, der dein Gästebuch aufruft, eine alert-Meldung mit dem Inhalt "123" und
in einigen Gästebucheinträgen wurde HTML-Code eingebaut.
Natürlich sind das nur harmlose Demonstrationen, es wären durchaus auch gefährliche Angriffe möglich (Passwortklau mit XSS).

Um diese Sicherheitslücke zu schließen, solltest du die Gästebucheinträge - bevor du sie auf deiner Seite ausgibst - mit der PHP-Funktion htmlspecialchars codieren.

Zum Beispiel:
PHP:
$eintrag = "Dies ist ein ganz böser Eintrag! <script>alert(123);</script>";
echo htmlspecialchars($eintrag, ENT_QUOTES, 'UTF-8');

Auf diese Weise werden wichtige HTML-Sonderzeichen so umgewandelt, dass sie keinen Schaden mehr anrichten können.
Der Beispieleintrag würde dann so aussehen:

HTML:
Dies ist ein ganz böser Eintrag! &lt;script&gt;alert(123);&lt;/script&gt;

Nun wird der JavaScript-Code nicht mehr ausgeführt, da die Sonderzeichen entsprechend kodiert worden sind.
 
ok gut danke für den hinweiß.
werde das mal ändern.

---------------------------------

gut habe es jetzt eingefügt.
kannst ja gerne noch mal sicherheitslücken testen^^
 
Zuletzt bearbeitet:
habe das mit javascript mal geändert. also die hintergrundbilder werden jetzt auch ohne js dargestellt (natl. ohne den slide-effekt). trotzdem bleibt die meldung mit javascript aktivieren, weil es für ein weiteres menü später gebraucht wird (derzeit, viell. änder ich das auch noch mal). habe jetzt auch meinen namen mal in weiß und etwas größer drüber geschrieben. der style ist passend zum rest der website. aber irgendwie.... weiß nicht - bin damit glaube nicht ganz so zufrienden. was sagt ihr dazu?
 
Werbung:
Okay, dein Gästebuch-Script ist jetzt schon mal gut abgesichert.
Wichtig ist, dass beim Eintragen in die Datenbank Anführungszeichen immer maskiert werden (ist momentan der Fall) und
dass HTML-Code vor der Ausgabe kodiert wird (auch vorhanden).

Vielleicht solltest du einfach mal probieren, deinen Namen direkt über den Inhalts-Block zu setzen (also etwas weiter nach rechts).
Eventuell sieht das Gesamtbild dann etwas harmonischer aus.

So, und jetzt noch ein paar Verbesserungsvorschläge ;)

1.) Ich würde die Schriftart (font-family) ändern, zum Beispiel in "Arial" oder "Verdana". "Times New Roman" passt auf Webseiten eher selten.

2.) Auf der Startseite hast du diesen Code-Abschnitt:

HTML:
<p>Viel Spaß</p> 
<br /> 
<p class="zitat">(...)

Ich würde das br-Element (<br /> ) entfernen und den Abstand stattdessen mit Hilfe von CSS erzeugen.
Außerdem solltest du Zitate mit dem q-Element auszeichnen, also zum Beispiel:

HTML:
<p class="zitat"><q> (...) </q></p>

Das wäre dann auch semantisch korrekt.

3.) Deine Fahnen bindest du momentan so ein:

HTML:
  <p class="lang"> 
  <a href="?lang=de" title="Deutsch"><img src="lang/de/de.png" border="0" height="25" alt="de" /></a> 
  <a href="?lang=en" title="English"><img src="lang/en/en.png" border="0" height="25" alt="en" /></a> 
  </p>

Ich würde dir empfehlen, zum einen die Breitenangabe (width) hinzuzufügen (das gleiche gilt für das Bild, das deinen Namen einbindet) und gleichzeitig das border-Attribut zu entfernen und
dafür in deinen Stylesheet folgende Ergänzung zu schreiben:

HTML:
a img { border: none; }

Somit kannst du auch in diesem Fall Inhalt und Darstellung optimal von einander trennen.
Auch auf der Seite "Ahnenforschung" hast du noch solche Bilder, die du korrigieren solltest.

4.) Ich würde dir raten, den Menüpunkt "Genealogie" in "Ahnenforschung" umzubenennen, da dieses Wort den meisten Besuchern geläufiger sein dürfte.

5.) Auf der Seite "Ahnenforschung" befindet sich dieser Code-Abschnitt:

HTML:
Ich freue mich euch auf meiner Website begrüßen zu dürfen. Wenn Sie von www.genealogie-kalb.de.tl hierher geleitet wurden, dann sind Sie hier genau richtig - die Website ist umgezogen.<br> 
Hier gibt es alle Informationen über die Ahnenforschung der Familie Kalb aus Deutschland - Sachsen, welche ich seit 2007 zusammen getragen habe und der Familie Stefansky, welche seit 2008 Ahnenforschung betreibt.<br><br> 
 
Auf dieser Website sind keine Informationen über lebende Familienmitglieder zu finden. Diese sind streng vertraulich und werden deshalb nicht im Internet veröffentlicht. Austausch solcher Informationen erfolgt nur bei gerechtfertigtem Interesse. Bitte meldet euch  über das Kontaktformular, wenn ihr Interesse habt (findet ihr auf der Hauptseite).<br>

Auch hier würde ich Absätze einbauen und die br-Elemente gemäß den XHTML-Regeln verwenden:

HTML:
<p>Ich freue mich euch auf meiner Website begrüßen zu dürfen. Wenn Sie von www.genealogie-kalb.de.tl hierher geleitet wurden, dann sind Sie hier genau richtig - die Website ist umgezogen.<br /> 
Hier gibt es alle Informationen über die Ahnenforschung der Familie Kalb aus Deutschland - Sachsen, welche ich seit 2007 zusammen getragen habe und der Familie Stefansky, welche seit 2008 Ahnenforschung betreibt.</p>
<p>Auf dieser Website sind keine Informationen über lebende Familienmitglieder zu finden. Diese sind streng vertraulich und werden deshalb nicht im Internet veröffentlicht. Austausch solcher Informationen erfolgt nur bei gerechtfertigtem Interesse. Bitte meldet euch über das Kontaktformular, wenn ihr Interesse habt (findet ihr auf der Hauptseite).</p>

6.) Auf der Seite "Ahnenforschung" verwendest du in einigen Links das target-Attribut (target="_blank"). Dadurch öffnet der Browser automatisch ein neues Fenster. Auch wenn dies ein heiß diskutiertes Thema ist, solltest du die target-Attribute entfernen, da jeder Benutzer so selbst entscheiden kann, ob er ein neues Fenster haben will, oder nicht. (Warum target=”_blank” nervt und verboten gehört)

7.) Auf der Seite "Studium" solltest du ebenfalls p-Elemente verwenden und dein Bild mit Hilfe von CSS und nicht mit HTML-Elementen zentrieren. Wie das funktioniert, habe ich ja bereits erklärt.

8.) Auf der Seite "Impressum" benutzt du ebenfalls das center-Element (besser CSS verwenden) und außerdem mehrere br-Elemente, um Abstände zu erzeugen. Dafür solltest du aber - du ahnst es sicher ;) - besser CSS verwenden (Außenabstände mit CSS).

9.) Mir ist aufgefallen, dass du bei einigen script-Elementen das "language"-Attribut verwendest. Das ist nicht nötig und sollte weggelassen werden.

Falsch:
HTML:
<script language="javascript" type="text/javascript">
  document.getElementById("warnung").style.display = "none";
</script>

Richtig:
HTML:
<script type="text/javascript">
  document.getElementById("warnung").style.display = "none";
</script>

10.) Nachdem wir jetzt schon einen Großteil deines HTML-Codes aufgeräumt haben, solltest du dein Dokument nun als XHTML Strikt auszeichnen, also:

vorher:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

nachher:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

11.) Nun ist deine Seite schon fast perfekt (was den Code anbegeht) :) Allerdings müssen wir uns nun noch um dein Kontaktformular kümmern, aber darauf gehe ich später ein ;)

(Dieser Beitrag darf gerne bewertet werden ;))
 
ALSO:

- meinen namen habe ich über den content gesetzt

(1) Schriftart habe ich auch geändert (entsprechend css angepasst). das einzige problem ist, dass der menüpunkt "ahnenforschung", wenn man auf der ahnenforschungsseite ist jetzt nach oben verschoben ist... ich weiß nicht, ob das bei euch/dir auch so ist...

(2) br-element ersetzt mit css margin-top. ist das so richtig, oder gibts da irgendetwas, das ich vielleicht noch nicht kenne?

(3) width und border attribute in css verschoben. die bildgröße in der datei werde ich natl noch verkleinern für geringeren traffic

(4) umbenannt

(5) br-elemnt ersetzt mit <p>

(6) zu den links. wann sollte ich das target="blank" verwenden? sollte ich das komplett aus der website herausnehmen, oder bei buttons, wie zum beispiel auf der ahnenforschungsstartseite drin lassen?
ich fand es immer ganz gut mit target, weil so die besucher meiner website immer noch meine eigene website geöffnet haben...

(7) br auch ersetzt und mit css bild zentriert

(8) im impressum lässt sich der text irgendwie nicht zentrieren. die beschreibung zu class="center" befindet sich im text.css

(9) language gelöscht

(10) habe es umgeschrieben (was ändert das, bzw. was bewirkt das?)

und noch eine frage^^ bist du wirklich 93er jahrgang?

Danke für deine Hilfe!!!
(bewertung abgegeben ;-) )

PS.: was ich gerade gesehen habe:
dein sicherheitstest^^ genau den versteckten sicherheitstest hatte ich vergessen^^
aber habs noch ovr dir geändert :p
 
Zuletzt bearbeitet:
(1) Schriftart habe ich auch geändert (entsprechend css angepasst). das einzige problem ist, dass der menüpunkt "ahnenforschung", wenn man auf der ahnenforschungsseite ist jetzt nach oben verschoben ist... ich weiß nicht, ob das bei euch/dir auch so ist...

Ich weiß zwar nicht, was du für ein CMS verwendest, aber da ist wahrscheinlich nur intern eine Reihenfolge falsch.

(2) br-element ersetzt mit css margin-top. ist das so richtig, oder gibts da irgendetwas, das ich vielleicht noch nicht kenne?

Nein, das sieht alles soweit gut aus.
Viele Informationen zu CSS findest du auch auf CSS 4 You.

(3) width und border attribute in css verschoben. die bildgröße in der datei werde ich natl noch verkleinern für geringeren traffic

Attribute, die die Darstellung beeinflussen, sollte man grundsätzlich nicht verwenden und die Regeln besser im Stylesheet definieren.
Allerdings sollte man bei Bildern im HTML-Code immer die Bildhöhe und Breite angeben, um dem Browser das laden/rendern der Seite zu erleichtern.

(6) zu den links. wann sollte ich das target="blank" verwenden? sollte ich das komplett aus der website herausnehmen, oder bei buttons, wie zum beispiel auf der ahnenforschungsstartseite drin lassen?
ich fand es immer ganz gut mit target, weil so die besucher meiner website immer noch meine eigene website geöffnet haben...

Ich persönlich würde dir raten, target="blank" nicht zu verwenden.
Es sprechen einfach zu viele Gründe gegen den Einsatz (siehe Artikel).

(8) im impressum lässt sich der text irgendwie nicht zentrieren. die beschreibung zu class="center" befindet sich im text.css

Das wundert mich nicht, du hast da einige Fehler im HTML-Code.
Außerdem würde ich eine CSS-Klasse niemals "center" nennen.
Ich würde dir folgendes vorschlagen:

vorher:
HTML:
<div id="content"><br /> 
<br /> 
<br /> 
<p class="center"> 
<h1>Impressum</h1> 
Betreiber:<br /> 
Robert Kalb<br /> 
Hochschulstraße 28<br /> 
01069 Dresden<br /> 
<p>Deutschland</p> 
<p>Bei Fragen, etc. bitte das Kontaktformular benutzen.</p> 
Diese Website unterliegt einem Copyright!<br /> 
Hintergrundbilder: <a href="http://www.pixelio.de">www.pixelio.de</a> 
</p> 
</div>

nachher:
HTML:
<div id="content">
<div id="impressum">
<h1>Impressum</h1>
<p>Betreiber:<br />
Robert Kalb<br />
Hochschulstraße 28<br />
01069 Dresden</p>
<p>Deutschland</p>
<p>Bei Fragen, etc. bitte das Kontaktformular benutzen.</p>
<p>Diese Website unterliegt einem Copyright!<br />Hintergrundbilder: <a href="http://www.pixelio.de">www.pixelio.de</a></p>
</div>
</div>

Und in den Stylesheet:

HTML:
#impressum { text-align: center; }

So müsste das klappen.
(Ich habe außerdem noch einen Absatz hinzugefügt.)

(10) habe es umgeschrieben (was ändert das, bzw. was bewirkt das?)

XHTML Strikt bedeutet, dass du dich streng an die XHTML-Regeln hälst.
Dadurch kann man zum Beispiel mit Hilfe des W3C-Validators viel einfacher Fehler im Code finden.
Damit dein Quelltext aber wirklich allen Anforderungen genügt, müssen wir noch deine Formulare etwas anpassen (bin ich schon dabei).
Aber jetzt muss ich erst einmal weg - Tischtennis spielen ;).

und noch eine frage^^ bist du wirklich 93er jahrgang?

Ja ;)

Danke für deine Hilfe!!!

Kein Problem :)
 
Werbung:
also erstmal respekt für die kenntnisse. bin 21 und hab ne ganze weile gebraucht, bis ich bis hierhin gekommen bin^^

hab die targets alle rausgenommen und impressum, als auch menü funktioniert :-)

ich bin die ganze zeit da^^
bin gespannt auf das kontaktformular :-)
 
hab auch mal den schriftzug "robert kalb" geändert und in die animation reingenommen.
denke das sieht jetzt besser aus, als vorher :-)
 
Mir gefällt es auf dem ersten Anblick ganz gut.
Schlicht aber trotzdem etwas "anderes". ;)

Der Link "Internet" funktioniert bei mir nicht. Und bei mir lädt er immer nur zwei Hintergrundbilder? Soll das so oder hast du für jede Subpage ein eigenes Bg-Bild?
 
Werbung:
einige sublinks funktionieren noch nicht. da habe ich noch keine inhalte^^
es gibt immer nur zwei hintergrundbilder. mehr wäre glaub auch für den traffic nicht so gut.
unter ahnenforschung gibts dann noch zwei andere.
habe mir gedacht, dass ich später vielleicht für jede unterkategorie passende hintergrundbilder mache.

mir ging es auch um ein schlichtes design, was aber irgendwie nicht jeder hat^^
 
Okay, ich habe dein Kontaktformular überarbeitet - besser gesagt, ich habe es komplett neu geschrieben ;)

Dir wird auffallen, dass ich einige Namen der Formularfelder verändert habe.
Wenn du willst, kannst du sie natürlich jederzeit wieder ändern.

Des Weiteren habe ich ein zusätzliches Feld eingebaut, dass standardmäßig ausgeblendet wird und somit für normale Besucher unsichtbar ist.
Eine kurze Beschriftung macht auch Besuchern mit Textbrowsern klar, dass dieses Feld leer bleiben muss.
Aber wozu dieses "sinnlose" Feld?
Spambots versuchen, immer jedes Feld eines Formulares mit sinnvollen Inhalten zu füllen.
Da das "unsichtbare" Feld "email_address" heißt, wird ein Bot wahrscheinlich eine gefälschte E-Mail-Adresse einfügen.
Du kannst nun bequem in deinem Script prüfen, ob das Feld auch wirklich leer ist und dementsprechend handeln.
So kannst du dich - ohne das es deine Besucher stört - zusätzlich vor Spam absichern.

Ich habe außerdem deine Fehlermeldungen ein wenig umgeschrieben,
damit deine Besucher besser wissen, was sie ändern müssen.

So, und hier kommt der Beispiel-HTML-Code und der dazugehörige CSS-Code:

HTML:
<form action="/kontakt.php" method="post" id="kontakt">
  <table>
    <tr>
      <td></td>
      <td class="fehlermeldung">
        # Bitte w&auml;hlen Sie Ihre gew&uuml;nschte Anrede aus.<br />
        # Bitte geben Sie Ihren Namen ein.<br />
        # Bitte geben Sie eine korrekte E-Mail-Adresse ein.<br />
        # Bitte geben Sie eine Nachricht ein.<br />
        # Bitte f&uuml;llen Sie keine Felder aus, die leer bleiben m&uuml;ssen.<br />
        # Bitte l&ouml;sen Sie die Rechenaufgabe korrekt.
      </td>
    </tr>
    <tr>
      <th>Anrede:</th>
      <td>
        <input type="radio" name="anrede" id="anrede_herr" value="Herr" checked="checked" /> <label for="anrede_herr">Herr</label>
        <input type="radio" name="anrede" id="anrede_frau" value="Frau" /> <label for="anrede_frau">Frau</label>
      </td>
    </tr>
    <tr>
      <th><label for="name">Name:</label></th>
      <td><input type="text" id="name" name="name" value="" class="eingabe" /></td>
    </tr>
    <tr>
      <th><label for="email">E-Mail:</label></th>
      <td><input type="text" id="email" name="email" value="" class="eingabe" /></td>
    </tr>
    <tr>
      <th><label for="nachricht">Nachricht:</label></th>
      <td><textarea id="nachricht" name="nachricht" rows="6" cols="42" class="eingabe"></textarea></td>
    </tr>
    <tr id="tr_email_address">
      <th><label for="email_address">Dieses Feld muss leer bleiben:</label></th>
      <td><input type="text" id="email_address" name="email_address" value="" class="eingabe" /></td>
    </tr>
    <tr>
      <td></td>
      <td><input type="checkbox" id="kopie" name="kopie" /> <label for="kopie">Ich w&uuml;nsche eine Kopie meiner Anfrage an mein Postfach.</label></td>
    </tr>
    <tr>
      <th><label for="spamschutz">Spamschutz:</label></th>
      <td id="td_spamschutz">
        <span class="rechenaufgabe">3 + 9</span> = <input type="text" id="spamschutz" name="spamschutz" class="eingabe" size="3" />
        <input type="hidden" name="zip2" value="c20ad4d76fe97759aa27a0c99bff6710" />
        <label for="spamschutz">(Bitte l&ouml;sen Sie diese Rechenaufgabe.)</label>
      </td>
    </tr>
    <tr>
      <td></td>
      <td><input type="submit" class="submit" value="Absenden" /></td>
    </tr>
  </table>
</form>

Code:
#kontakt table,
#kontakt th,
#kontakt td
{
  border: none;
}

#kontakt th,
#kontakt td
{
  padding: 0.5em;
}

#kontakt th
{
  font-weight: bold;
  text-align: right;
}

#tr_email_address { display: none; }

#kontakt .eingabe, #kontakt .eingabe:focus
{
  border: 1px solid #c0c0c0;
  padding: 0.5em;
}

#kontakt .eingabe:focus { border-color: #000; }

#kontakt .eingabe,
#kontakt .submit
{
  width: 100%;
}

#kontakt .submit
{
  padding: 0.5em;
}

#kontakt #td_spamschutz label { font-size: 80%; }
#kontakt #td_spamschutz .eingabe { width: auto; }
#kontakt #td_spamschutz .eingabe { padding: 0.3em; }

#kontakt .fehlermeldung
{
  color: #f00;
  font-weight: bold;
}

Natürlich kannst du sowohl den HTML-Code, als auch den Stylesheet noch anpassen.


Abschließend möchten ich dich aber noch auf ein paar sicherheitstechnische Aspekte hinweisen ;)

Dein Kontaktformular hat momentan eine XSS-Sicherheitslücke.
Gib einfach mal den nachfolgenden Code in das Nachrichtenfeld ein und sende das Formular ohne weitere Eingaben ab:

HTML:
</textarea>
<h1>XSS!</h1>
<script>alert(123);</script>
<textarea>

Das Problem dürfte klar sein.
Aber es lässt sich natürlich einfach lösen!
Bevor du die Eingaben des Benutzers in die Felder einfügst,
codierst du sie einfach vorher mit der Funktion htmlspecialchars:

PHP:
$_POST['nachricht'] = htmlspecialchars($_POST['nachricht'], ENT_QUOTES, 'UTF-8');
echo $_POST['nachricht'];

Das kommt dir bestimmt schon bekannt vor ;)

Es gibt aber noch einen weiteren Punkt, den du beachten solltest.
Dazu liest du dir am besten dieses Tutorial durch: Spam-Gefahr durch Kontaktformulare | Formulare, Sicherheit, Spam | Dr. Web Magazin


Wenn du noch weitere Fragen hast,
stehe ich natürlich gerne zur Verfügung :)
 
hm also ein mit deinem "sicherheitstest" ist nichts passiert. hat mein kontaktformular nicht beeinflusst. habe eine normale mail mit dem code bekommen, aber sonst nichts weiter passiert.

die fehlercodes werden bei deinem kontaktformular immer angezeigt. also auch, wenn man das erste mal auf das kontaktformular geht und es noch nicht abgesendet hat (hab es auf der seite schon eingefügt).
ich denke ich soll den code noch anpassen, oder? also die fehlermeldungen aus meinem script mit denen von dir "zusammenbauen", oder?
 
Werbung:
hm also ein mit deinem "sicherheitstest" ist nichts passiert. hat mein kontaktformular nicht beeinflusst. habe eine normale mail mit dem code bekommen, aber sonst nichts weiter passiert.

Ich sagte ja, es dürfen keine weiteren Angaben gemacht werden,
so dass der HTML-Code wieder in die Seite eingefügt wird und eine Fehlermeldung erscheint.

ich denke ich soll den code noch anpassen, oder? also die fehlermeldungen aus meinem script mit denen von dir "zusammenbauen", oder?

Klar, das war nur zu Demonstrationszwecken in den HTML-Code eingefügt :)
 
uiui also mit dem css das is natürlich eine feine sache.
darauf muss man erstmal kommen^^

werde mich heute abend dran machen und die beiden formulare zusammenfummeln^^
 
ähm die sache mit der rechenaufgabe... reicht das? erkennt das ein bot nicht?
also kann die immer gleich bleiben, oder sollte ich das mit dem zufall lieber doch einbauen?
 
Werbung:
ähm die sache mit der rechenaufgabe... reicht das? erkennt das ein bot nicht?
also kann die immer gleich bleiben, oder sollte ich das mit dem zufall lieber doch einbauen?

Ich bezweifle sowie so, dass die Rechenaufgabe nicht von einem Bot erkannt und gelöst werden kann,
aber die Rechenaufgabe sollte sich schon zufällig ändern.
 
gut ich habe es soweit :-)
müsste jetzt sicher sein.

ich habe probiert jetzt die klassen einfach auch beim gästebuch zu verwenden, also einfach class="formfeld" durch class="eingabe" ersetzt.
leider wird die größe der textfelder nicht übernommen... warum auch immer...

PS.: warum verwenden wir beim gästebuch nicht so ein "verstecktes" feld? (ich versuche mir ein paar standards für formulare zu merken^^)
 
Zurück
Oben