TeamViewer Motive 3

PHP Dokument erloschen. Lösungsvorschläge

loese das login mit javascript und nem ajax request und gut is! alternativ lass den content von php laden oder verhindere das der user unter bestimmten umstaenden zurueck gehen kann. gibt dazu einige js libs (die defacto aber nur wieder vorwaerts leiten).
am besten waere wohl den login mit js zu machen dann erscheibt auch kein erneutes formular senden etc. (es sei denn der user hat hs aus, aber sowas will man eh net als uset ;))

was meinst mit php validierung?

google page rank ist unabhaengig von validen code. hab mjch erst damit beschaeftigen muessen.... steht aber auch in den docs von google.

komprimierte datein sind den crawlern egal da die eh meist ohe js parsen. spart dir und dem user bloss traffic

auf injections testest du am besten jndem du versuchst deine seite zu hacken oder hacken zu lassen. wenn Lle user eingaben escapsed ist aber meist alles ok

zu infos fuer seo hat google in den webnastertools viele hilfen stehen! wenn die seite ohne js voll funktioniert crawlt die nen bot azch komplett. die google webmaster tools bieten da viele nette apps ;)
 
Zuletzt bearbeitet:
Ich bin kein Freund von Javascript und möchte die Einsetzung dessen so viel wie möglich meiden.
Alleine schon die Tatsache, dass einige User Javascript deaktiviert oder zumindest Noscript aktiviert haben, lässt mich von JS Abstand halten.

Natürlich kann man die Eingaben mit Javascript etwas erleichert, z.B. einen kleinen Kalender der erscheint wenn man irgend ein Datum eingeben muss, jedoch will ich keinen Code schreiben, der von Javascript abhängig ist.

PHP-Validierung: Gebe ich Daten ein (Login, Registrierung, Kennwortzurücksetzung, Kontakt-Formular, Such-Formular, so ziemlich alle Formulare), dann müssen die POST-Variablen auf Ihre gültigkeit geprüft werden, ganz simpel muss z.B. eine eingegebene eMail-Adresse erst durch eine von mir geschriebene Funktion gejagt werden, damit diese auch als gültige eMail-Adresse anerkannt werden kann. Genauso muss beim Einloggen darauf geachtet werden, dass man keinen Mist eingibt und sich mit Glück (bzw. aufgrund schlechter PHP-Validierung) auch ohne ein Passwort einloggen kann.
Aktuell werden bei mir die ganzen POST-Variablen auf alles mögliche geprüft, jedoch möchte ich sicher gehen, dass ich nicht vergessen habe.
auf injections testest du am besten jndem du versuchst deine seite zu hacken oder hacken zu lassen. wenn Lle user eingaben escapsed ist aber meist alles ok
Du meinst mysql_real_escape_string()?
Selber hacken? Ich weiß wie man Insertet, Updated, Deleted und Selected. :) Dann kenne ich noch ein paar weiterer Befehle bzw. Ergänzungen (IN();COUNT();DISTRINCT oder so;LIKE).
Aber ich kenn mich nicht so gut aus, dass die ich MySQL-Lücken ausnutzen kann und DB-Einträge auslesen bzw. verändern kann.

zu infos fuer seo hat google in den webnastertools viele hilfen stehen! wenn die seite ohne js voll funktioniert crawlt die nen bot azch komplett. die google webmaster tools bieten da viele nette apps
Werde ich mir anschauen wenn die Seite größten Teils fertig ist. Vorher macht das in meinen Augen kienen Sinn.
 
Don_SyStEmS schrieb:
Auch wenn es kindisch klingt, "aber bei den anderen funktioniert es doch auch!" :D
Nö, normalerweise nicht. Die kochen auch bloß mit Wasser. Selbst hier auf CB dürfte der Zurück-Knopf dafür sorgen, dass du Doppelposts absendest oder zumindest versuchst (und dann ne Doppelpost-Sperre triggerst).

2. Wie wichtig ist valider HTML-Code? Also wie wichtig ist es, dass meine Seite keine Fehler bei validator.w3.org ausspuckt? Gibt das einen besseren Page-Rank?
Sorgt halt dafür, dass die HTML-Parser am Ende weniger auszubügeln haben... Valider Code sorgt für etwas Geschwindigkeit beim Rendern und die Sicherheit, dass auch raus kommt, was du bestellt hast.

3. Wie wichtig sind komprimierte JS- und CSS-Dateien? Auch hier, besserer Page-Rank?
Du tust deinem Server und deinen Kunden einfach einen riesigen Gefallen, wenn du die Kompression aktivierst. Dich "kostet" es 2-3 Zeilen in der .htaccess, dem Traffic bringt es aber 30-40% Reduktion.

7. Bringt es performancemäßig mehr lieber ein paar Große Dateien zu includen (also am Anfang, z.b. die functions.php) oder lieber immer die Funktionen die gebraucht werden in die jeweilige Datei zu schreiben und dann nur die gemeinsamen Funktionen zu includen?
Wenn es da einen Unterschied gibt wirst du ihn nie spüren. Wirklich Rechenzeit kann man nur bei so Kram wie Datenbank-Abfragen sparen. Mach mal ne Volltextsuche über 4Mio Einträge mit und ohne Optimierung...
Tatsächlich arbeiten die meisten CMS eh nicht mit sturem include/require, sondern packen alles in Klassen, räumen sie sauber auf und lassen den Autoloader arbeiten.

Mercsen schrieb:
loese das login mit javascript und nem ajax request und gut is!
Schlechte Idee! Niemals sollte man relevante Inhalte hinter JS verbergen. Soweit möglich, sollte jede Funktion einer Seite auch bei abgeschaltetem JS erreichbar sein. Es gibt sicher Sachen, die JS einfach erfordern, aber Login-Scripts gehören da nicht dazu.

Don_SyStEmS schrieb:
Natürlich kann man die Eingaben mit Javascript etwas erleichert, z.B. einen kleinen Kalender der erscheint wenn man irgend ein Datum eingeben muss, jedoch will ich keinen Code schreiben, der von Javascript abhängig ist.
Genau dafür gibts "bald" die neuen <input>-Typen. <input type="search"> für Suchen beherrschen die meisten modernen Browser schon. Die wirklich coolen Sachen wie <input type="date"> oder <input type="color"> brauchen noch etwas.

Du meinst mysql_real_escape_string()?
Wenn du konsequent jede Get- und Post-Variable durch diese Funktion jagst bist du das Injection-Problem los. Umso peinlicher ist ja, dass Firmen wie Sony über SQL Injection gehackt wurden...
 
Daaron schrieb:
Schlechte Idee! Niemals sollte man relevante Inhalte hinter JS verbergen. Soweit möglich, sollte jede Funktion einer Seite auch bei abgeschaltetem JS erreichbar sein. Es gibt sicher Sachen, die JS einfach erfordern, aber Login-Scripts gehören da nicht dazu.

Wenn ein Fallback dahinter ist, dann ist das imho kein Problem. 95% der User haben JS aktiviert (geschätzt, keine Quelle). Der Rest loggt sich normal ein ohne JS.
 
Zuletzt bearbeitet:
Jo, aber dann hast du für die Leute ohne JS am Ende keine anständige Validierung etc. geschrieben....
 
Serverseitig muss man doch in jedem Falle nochmal richtig gründlich validieren, wie meinst du das? Man könnte unter Umständen ein und das selbe Loginskript für JS und non-JS Login verwenden.

Im ASP.NET MVC4 Beispiel-Template gibt es auch einen JS-Login. Je nachdem, ob der Login-Controller mittels Post oder "Ajax-POST" angesprochen wurde, gibt es entsprechend nach der Validierung passend HTML oder JSON zurück, quasi REST-Style.
 
Zuletzt bearbeitet:
Sicher, geht... aber löst das Kernproblem des "Seite abgelaufen" nicht, denn dieses Problem kann man schlichtweg nicht lösen. Du kannst (bzw. musst) einfach über Token gehen, damit jedes Formular nur ein Mal abgeschickt werden kann.
 
Zurück
Oben