Beiträge von Jav

    Gut - und auf deutsch - ist auch das Tutorial auf der offiziellen Seite: http://php.net/manual/de/tutorial.php

    Redet ihr über diese doko http://php.net/manual/de/

    Ist die für einsteiger zu empfehlen?

    Aus der Doku lässt sich schon extrem viel entnehmen, man sollte dort die Beispiele zu den Funktionen beachten, und die "User Contributed Notes" lesen, denn die sind oft extrem hilfreich und man findet so manchen Trick, auf den man manchmal garnicht kommen würde.

    Ja, mysqli hat wohl so seine Tücken. Wie bist Du auf mysqli gekommen? Username auf Existenz zu prüfen sieht ja noch sehr nach Anfang eines Projektes aus; vielleicht gibt es noch die Möglichkeit umzusteigen.

    Hmmm, du meinst die Formatierung, also wie das Gecodete aussieht.

    Schätze, das hängt auch von den verwendeten Tools ab, aber natürlich auch davon, wie lange jemand schon codet.


    Etwas anderes ist es mMn, wie ein "Problem" gelöst wurde. Bekanntlich führen viele Wege nach Rom, aber mancher hat halt so seine Lieblingsstrecken :)

    Es gibt in PHP sehr, sehr viele Möglichkeiten. Doch wenn du Projekte umsetzt, wirst Du bald merken, dass nur in Bruchteil zum ständigen Vokabular gehören muss. Man sollte wenigstens wissen, dass es noch hier und da Möglichkeiten gibt oder, wenn man unsicher ist, mal im Manual nachsehen, ob für das Benötigte eine Funktion existiert. Über die genaue Syntax kann man sich dann im Manual informieren. (Geht mir bei Arrays und Strings oft so: Ist die Reihenfolge nun haystack/needle oder needle/haystack? Und obwohl es dazu eine einfache Regel gibt, sehe ich trotzdem oft nach :) ).

    Zwar wird mein nächstes Projekt erst in knapp drei Monaten der Öffentlichkeit präsentiert. Doch es besteht schon eine Domain mit WebSpace und TLS-Zertifikat ( https:// ). Was offenbar schon reicht, um von verschiedensten Seiten Angriffe auf sich zu ziehen. Dabei wurde noch nirgends Werbung gemacht; aber irgendwie gelangen angemeldete Domains immer schnell in die Suchmaschinen, von wo aus sie dann von Angreifern aufgespürt werden. Wie genau das vor sich geht: K.A. - ich steh' auf der anderen Seite :)


    Hier mal ein Auszug aus dem Log (IP und Ddomainname unkenntlich gemacht) . Dort wird schnell ersichtlich, dass jemand versucht, das servereigene PHP für seine Zwecke zu missbrauchen :


    xxx.xx.xxx.xxx - - [21/Feb/2018:01:23:52 +0100] "GET /MSD/sql.php HTTP/1.1" 404 274 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:23:52 +0100] "GET /Msd/sql.php HTTP/1.1" 404 274 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:23:53 +0100] "GET /MySQLDumper1.24.4/msd1.24.4/sql.php HTTP/1.1" 404 298 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:23:53 +0100] "GET /MySQLDumper1.24.4/sql.php HTTP/1.1" 404 288 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:23:58 +0100] "GET /MySQLDumper1.24.4stable/sql.php HTTP/1.1" 404 294 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:23:58 +0100] "GET /MySqlDumper/sql.php HTTP/1.1" 404 282 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:23:58 +0100] "GET /Mysqldumper/sql.php HTTP/1.1" 404 282 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:23:58 +0100] "GET /admin/sql.php HTTP/1.1" 404 276 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:23:59 +0100] "GET /admin/sql/sql.php HTTP/1.1" 404 280 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:04 +0100] "GET /backup/sql.php HTTP/1.1" 404 277 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:04 +0100] "GET /backups/sql.php HTTP/1.1" 404 278 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:04 +0100] "GET /database/sql.php HTTP/1.1" 404 279 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:04 +0100] "GET /datenbank/sql.php HTTP/1.1" 404 280 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:04 +0100] "GET /dump/sql.php HTTP/1.1" 404 275 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:04 +0100] "GET /dumper/sql.php HTTP/1.1" 404 277 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:05 +0100] "GET /msd/sql.php HTTP/1.1" 404 274 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:05 +0100] "GET /msd1.24.2/sql.php HTTP/1.1" 404 280 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:05 +0100] "GET /msd1.24.3/sql.php HTTP/1.1" 404 280 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:05 +0100] "GET /msd1.24.4/sql.php HTTP/1.1" 404 280 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:05 +0100] "GET /msd1.24stable/sql.php HTTP/1.1" 404 284 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:05 +0100] "GET /myadmin/sql.php HTTP/1.1" 404 278 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:05 +0100] "GET /mysql/sql.php HTTP/1.1" 404 276 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:06 +0100] "GET /mysqldumper/sql.php HTTP/1.1" 404 282 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    xxx.xx.xxx.xxx - - [21/Feb/2018:01:24:06 +0100] "GET /sql/sql.php HTTP/1.1" 404 274 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" domainname.tld

    Mal ein Beispiel: Wenn du ein Chat hast, nehmen wir mal an wie bei Facebook, dann werden alle Leute Online angezeigt mit einem grünen Punkt. Alle die Offline sind haben keinen Grünen Punkt. Hier im Forum gibt es das gleiche Prinzip. Ist man Online steht da auch Online

    Mit AJAX kann man relativ zeitgenau On-/Offline-Status bestimmen. Der Nachteil sind die nötigen häufigen Aufrufe. Wenn zB nur alle 10 Sekunden abgefragt wird, liegt die Ungenauigeit bei 10 Sekunden, benötigt aber auch nur 1/10 an Abfragen im Vergleich zum 1-Sekunden-Takt. Ist also auch eine Abwägung, wie genau man wirklich wissen will/muss, wann jemand on-/offline ist.

    Zitat

    einen Unterordner bilder gemacht und nun eine neue Untereseite erstellt mit der Endung html.

    Ich verstehe das so, dass Du einen Unterordner namens "bilder" hast. In diesem Ordner hast Du die html-Datei erstellt. in der html-Datei hast Du den Code

    Code
    1. <img src="bilder/web/a.jpg" alt="test" title="" />

    eingefügt. Das kann nur klappen, wenn Du in dem Ordner "bilder" einen weteren Ordner "bilder" angelegt hast, darin wiederum einen Ordner "web", und in dem dann das Bild "a.jpg".


    Wenn die Bilder und die html-Datei im selben Ordner sind, brauchst Du nur den Bilddateinamen anzugeben:

    Code
    1. <img src="a.jpg" alt="test" title="" />

    Dann könnte man vielleicht auch noch anführen, dass Kontaktformulare mit persönlichen Daten "sicher" übertragen werden müssen (ist etwas differenzierter; aber hier mal als Stichpunkt eingeworfen).

    Wenn man es so formuliert, klingt es komplizierter als es ist.

    Die anzuwendenden RFCs besagen:

    - verwende nur gültige Emailadressen

    - verwende nur gültige Strings


    Also nichts, worauf nicht auch sonst geachtet werden müsste. Und ob die RFCs dazu "auswendig" gelernt wurden - nunja.


    Aber danke für die Antwort, Stef . Und schön, dass überhaupt noch jemand das Thema Tutorials in Angriff nimmt :)

    Sehr ausführlich beschrieben. Und obwohl ich mich nicht gerade als Einsteiger bezeichne, hätte ich doch eine Frage:

    Warum wird die PHP-Mailer-Klasse benötigt? Was spricht gegen die Verwendung von mail() ? Ganz besonders unter dem Aspekt eines einfachen Kontaktformulars.