Beiträge von The Scout

    Da du ja den Link zur Google SDK hast, machst du einfach folgendes:

    index.html


    Ich kenne grad nicht auswendig die Skriptweiche, welche von Google zu lokal schaltet, falls noetig, aber Google stuerzt so selten ab, dass diese Version die paar Stunden, bis ich nachgucken kann, auch noch durchsteht :D
    Was macht das? Nun, nachdem dein ganzer Content geladen wurde (und damit die Seite gerendert, was für den Nutzer angenehmer ist), wird zuerst versucht, jQuery von Google zu holen und wenn das nicht klappt, vom eigenen Server. Warum so rum? Ganz einfach, Googles Verteilerserver wurde dafür optimiert und antwortet daher mit 99% Sicherheit schneller als der eigene Server.
    So geht der Seitenaufbau schnell, und da jQuery nicht direkt am Anfang geladen wird, verzögert es das Rendern auch nicht.
    Skriptweiche ist nun drin.

    Runterladen solltest du : compressed, production jQuery 1.11.0 (weil das 2.x nicht mehr die aelteren und die zickigen *hust*IE*hust* Browser unterstuetzt)

    Ich gehe dabei davon aus, dass die Verzeichnisstruktur folgendermassen ist:

    Code
    index.html
    js/
    - jquery-1.11.0.min.js
    - jquery.colorbox.js

    Es gibt natürlich auch hin und wieder ein paar nette Konzerne. Riot Games (League of Legends) bspw. hat ein Jibber Jabber bereitgestellt, das erlaubt, sämtliche von ihnen erstellten Bilder )außer dem Logo) und Videos kostenlos auch auf kommerziellen Projekten zu verwenden, solange sie nicht als eigene Werke ausgegeben und/oder verkauft werden (man muss also nur im Impressum angeben, dass alle nicht als eigene gekennzeichneten Bilder von Riot sind).

    Allerdings sehe ich sowas eher selten :(

    Kurz vorweg:
    Wordpress ist vor allem auf Blogs spezialisiert, obwohl damit natuerlich auch schon normale Seiten realisiert wurden und XAMPP ist kein CMS sondern eine Serversoftware, das ist was voellig anderes!!!
    Aber XAMPP ist schnell erklaert:
    - Installationsdatei fuer das richtige Betriebssystem runterladen
    - XAMPP nach C:\xampp (oder auch D:\ E:\ whatever) installieren
    - Starten und im Browser die IP 127.0.0.1 aufrufen

    Und nun CMS:
    CMS steht fuer Content Managing System). Das ist also ein System, dass den INHALT (Texte, Bilder, Videos, ..) von Websiten leicht verwaltbar macht.
    Ein CMS hat ein Template, das ist eine Grundseite, die der Nutzer anlegt, meist mit dem HTML Grundgeruest und eventuellen Zusatzscripts, die auf allen Seiten geladen werden sollen. In dieses Template werden dann best. Snippets, die das CMS vorgibt, in die richtigen Stellen gesetzt und in diese Snippets wird vom CMS dann automatisch der zur URL passende Inhalt geladen.
    Dann gibt es einen Bereich, wo man Seiten anlegt, aber ohne irgendwelchen Code erstellen zu muessen. Diese Seiten haben dann kein Gruendgeruest oder sowas, sondern werden dynamisch vom CMS in die Templatedatei in das entsprechende Snippet (zB <?php echo $this->main; ?>) reingeladen, wenn der entsprechende Link geklickt wird.

    Die CSS muss bei kleineren Links meist vorher erstellt und der entsprechende Code zum einladen in die Templatepage gesetzt werden.

    Wenn du wirklich wissen willst, wie so ein Backend aussieht und funktioniert, schau dir einfach mal die Demos fuer ein kleines CMS (fuer kleine Seiten) bzw. ein grosses CMS fuer eine grosse Seite an. Da siehst du, wie man so ein CMS nutzt.

    Was ist denn mit der salvatorischen Klausel? Die sollte doch auch in Nutzungsbedingungen wirksam sein, denke ich mal? Dann hat man das Problem mit der Unwirksamkeit zumindest schonmal beseitigt.

    Was aber natuerlich nichts an der Formulierung aendert. Aber bei solchen Spitzfindigkeiten steige auch ich aus, alles was ich machen kann, ueberlegen, was der Text aussagen soll und wie man das geschwollen ausdruecken kann. Meist funktioniert das sogar :D
    Allerdings garantiere ich dabei natuerlich nicht fuer rechtliche Sicherheit, Gueltigkeit oder sonst irgendwas..

    Der Unterschied zwischen einem WYSIWYG Fehlerproduzenten (auch Editoren genannt) und einem CMS ist: Das CMS verwaltet deine Webseite auf dem Server, baut die einzelnen Teile automatisch zusammen. ein WYS.. erstellt nur den Code, ohne dass du ihn siehst. Hochladen und einfuegen muesste man dann immer noch manuell.
    D.h., es kann immer wieder ein WYS... in einem CMS auftauchen, zB beim neue Seite erstellen, aber niemals andersrum.

    Und ja, wenn es nur eine kleine Seite sein soll, ist Typo3 zu gross. Es ist zwar sehr umfangreich und stark erweiterbar, allerdings ist es auch speziell auf Dinge wie Schul- oder Firmenwebsites zugeschnitten, die zT auch enorme Datenmengen einfach online verwaltbar haben wollen.
    Fuer eine kleine Seite kann ich nur noch einmal CMS 2 Day vorschlagen (https://www.html-seminar.de/www.cms2day.de). Ist ein kleines, kompaktes CMS, Grund-CMS und viele Module gibt es gratis (sollen die Module umfangreicher sein, muss man zahlen, braucht es aber mMn meist nicht) womit sogar die Technophobiker aus meinem Pfadfinderstamm zurande kommen (Ergebnis unter https://www.html-seminar.de/www.pfadfinder-weilheim.de)

    Deine Arbeit, wenn du so eine Seite einrichten sollst, ist wiederum eine andere als Texte schreiben, denn dafuer ist das CMS da. Dein Part ist es, das CMS auf dem Webserver zum laufen zu kriegen, zB indem du zuerst in den Optionen eine Basisurl und einen URL Umschrieb definierst, ein Stylesheet schreibst oder die FTP Daten eintraegst, sodass via Backend des CMS auch Bilder hochgeladen werden koennen. Solche Sachen waeren dann dein Part.

    Also, falls du dich fuer CMS 2 Day entscheidest, und beim Einrichten Hilfe brauchts, melde dich per pN, ich habs schon hinter mir, und bin damit zufrieden, funktioniert alles prima :)

    Aber es gibt natuerlich auch andere kleiner CMS Varianten (Contao wurde hier noch genannt), nur kenne ich die nicht.

    Also Zusammenfassung:
    - einmal (oder alle paar Jubeljahre) einen Cost für die eigene Hardware generieren und irgendwo als Konstante oder in einer Tabelle speichern
    - grundsätzlich nur PASSWORD_DEFAULT als Algorithmus verwenden, da dieser regelmäßig erweitert wird.
    - Klartext Passwort pfeffern, Hash salzen LASSEN (von der Funktion), mit ein bisschen Cost abschmecken, in der DB anrichten...
    - Nach erfolgreichem LOGIN eines Users prüfen, ob das Pass noch den aktuellen Anforderungen gerecht wird und ggf. mit aktuellen Optionen rehashen
    - Dem Hash in der DB empfohlenerweise min. 255 Zeichen zugestehen (CHAR oder VARCHAR, CHAR schneller, VARCHAR weniger Speicher)

    Hab ich was vergessen?

    Nebenbei bemerkt: Das Tolle an so Nutzungsbedingeungen, Datenschutzerklärungen, und dem ganzen Krempel ist, dass sie sich im Normalfall sowieso kaum ein Aas wirklich durchliest.

    D. h., dein einziges Ziel sollte sein, dass juristisch absichernd zu formulieren, dabei den Nutzer aber nicht zu sehr einzuschränken.
    Deine Formulierung lautet: Wenn er keine Cookies will, darf er keine Comments posten. Da das rechtlich AGB sind, ist das bindend. Wenn jmd keine Cookies will, aber trotzdem postet, macht er sich daher (rein juristisch haarspaltend gesehen) strafbar!

    Daher schreibe lieber meine offene Variante, da ist der Nutzer zwar selbst schuld, wenn er trotzdem den Kommentar schreibt, da es ihm aber nicht verboten wurde, ist es nicht strafbar UND du bist nicht schuld, WENN du beim Kommentarformular auf diesen Absatz hinweist. Sonst kann es als Fahrlässigkeit auf deiner Seite angesehen werden.

    Und das mien Jong, ist die von dir gepriesene deutsche Rechtssprechung... :wacko: du hast ja so Recht :D

    Hi @ll,
    hier mal etwas, das ich in den unendlichen Weiten des Internets so nicht direkt finden konnte: Wie man mit PHP die Lautähnlichkeit von zwei Strings herausfinden kann. Die Idee dahinter stammt nicht von mir, sondern von einem Kommentar auf php.net, den Code habe ich allerdings selbst gebaut.

    Code und Ablauf:
    Man soll hier ja auch was lernen, nicht? ^^


    Wofür ist das gut?
    Wenn man zB ein Verzeichnis mit CD Titeln führt, kann man mit dieser Funktion prüfen, ob der Titel bereits ähnlich geschrieben im Verzeichnis ist. Man holt sich die Titel aus der Tabelle, führt die Funktion durch und gibt zB alle Titel aus, für die der Wert die 0.2 nicht überschreitet, dh, wo der Unterschied in der (eng.) Aussprache max. bei 20% liegt.
    Kleiner Performancetipp für dieses Beispiel: Wenn man die Metaphonekeys gleich mit ins Verzeichnis setzt, muss man sie nicht erst generieren, geht dann schneller.

    Ich habe die Funktion immer noch nicht aktiv testen können (mir fehlt die Grundlage), wäre schon, wenn das jemand machen und Feedback geben könnte!

    Aktualisierungen:
    06.03.14: Ich hab gemerkt, dass auch String 2 Länge null haben kann, deshalb habe ich die Funktion ein wenig verändert.
    24.04.14: Ich habe versehentlich bei einem leeren String 0 ausgegeben. Da muss natürlich 1 ausgegeben werden. Außerdem den Code auskommentiert und dafür die ellenlange Beschreibung gelöscht.

    Müssen wir nicht, dass ist doch das Geniale am password_hash! Es werden alle benötigten Daten zur Überprüfung direkt mit in den Hash gesetzt! Wir brauchen nur eine kleine Variable(!),zB im File mit den SQL Logindaten oder so, diese lesen wir aus und schreiben sie als zusätzliche Cost Option beim Login Script in password_needs_rehash(). Et voilà: Man aktualisiert automatisch den Cost, ganz ohne Datenbank.

    Und das geht darum (Bild von php.net):html-seminar.de/woltlab/attachment/525/
    Also wird alles, was zuer Ueberpruefung gebraucht wird, direkt in den Hash geschrieben, wodurch keine Costs, keine Salts, nichts irgendwo zusaetzlich gespeichert werden muss :thumbup:

    3000 Zugriffe keine Antwort <.< Ich habe jetzt in meinen Büchern nachgesehen. Und eine Antwort darauf gefunden.


    Ich meine, was erwartest du, wenn sich innerhalb einer halben Stunde 3000 Zugriffe ansammeln? Da werden Bots mitgezaehlt worden sein.

    Aber b2t: Ich glaube du meinst jQuery Mobile. Ist nochmal ein Unterschied zu jQuery

    Und theoretisch waere das mit ein bisschen CSS auch schnell geloest, dann musst du nicht extra deswegen das Skript einbinden und Traffic generieren:


    Reiterleiste HTML

    HTML
    <ul id="reiter">
    <li><a href="#">Home</a></li>
    <li><a href="#">Gut</a></li>
    <li><a href="#">Besser</a></li>
    <li><a href="#">Paulaner</a></li>
    </ul>


    Icons sind dann ebenfalls per CSS als Hintergrundbild moeglich.
    Ist uebrigens ein Stegreifcode, keine Garantie auf Erfolg, sollte aber klappen ;)

    Hmm, Datenschutzerklaerung:

    Zitat

    "Beim hHinterlassen[...]" -> Das ist ja immer noch klein :D

    "Sollten Sie sich fürdurch das Aktivieren entscheiden, Social Media Buttons auf dieser Webseite zu verwenden[...] -> Wohl eher so


    Ansonsten ist meine unfundierte Meinung: Nu siehts gut aus! Profi wuerde ich trotzdem noch fragen, vielleicht findest du ja einen Netten, der sich erbarmt.

    Hierzu noch ein paar Ergänzungen meinerseits:
    - Man sollte der DB-Zelle des PWs immer den Typ varchar(255) geben, sowie die Funktion

    PHP
    password_hash($pass,PASSWORD_DEFAULT)

    nutzen.
    Dies sorgt dafür, dass immer die aktuellsten und besten Verschlüsselungsmethoden angewandt werden, da PASSWORD_DEFAULT mit der Zeit aktualisiert wird. Weil dadurch auch die Hashes laenger werden koennen, wird empfohlen 255 Zeichen zuzulassen.

    - Um nun auch die Hashes auf dem neuesten Stand zu halten, empfiehlt sich diese Funktion:

    Da der genutzte Algorithmus neben dem automatisch generierten Salt direkt in den Hash gesetzt wird, funktioniert das einwandfrei, da password_verify() immer weiss, welcher ALgo genutzt wurde.

    Um einen guten Cost fuer die eigene Hardware zu finden, empfiehlt php.net (fast) folgende Funktion (10 ist der Standard)

    Dies kann man zB als Cronjob einmal im Monat machen. Da mit der Funktion oben auch die costs automatisch aktualisiert werden koennen, macht das im Zusammenspiel mit cottons Pepper jedem Scriptkiddie die Passbeschaffung zum Albtraum.

    Denn: Dadurch koennen Hashes in der DB liegen, die mit unterschiedlichen costs und Algos verschluesselt wurden. D.h. diese beiden Parameter muessen beim Brute Forcen fuer jedes Pass nochmal manuell eingelesen werden...

    Da die Frage war, ob es Code gibt, der die Seite ueberall GLEICH aussehen laesst: Ja, aber dann musst du dich doch mit relativen Groessen wie Prozent befassen. Ohne geht nicht. Allerdings sind im Endeffekt auch Pixel eine relative Groesse, richtig eingesetzt, funktioniert das auch gut, und mit denen ist leichter zu rechnen.

    Und nein es ist nicht zu empfehlen, Responsive Design ist besser, dazu nimm dann Users Links.

    [...] ICH WERDE KEINE FERTIGEN TEMPLATE VERWENDEN [...]


    Warum nicht? Da haben viele schlaue Leute dran gearbeitet, damit die genutzt werden koennen?!
    Ich kann nur nochmal das H5BP nennen, da haben so viele Leute so lange dran gearbeitet, du kannst einfach nicht auf all diese Tricks alleine kommen? Und wenn es das schon fertig gibt, warum nicht nutzen?

    Ich meine, selbst ein Template gibt nur einen groben Rahmen, die ganzen Spielereien, die in diesem Forum zu finden sind, werden doch zu 90% von einem Template gar nicht beruehrt. Viele Dinge setzten einfach zB das HTML Grundgeruest bereits vorraus, und dass du das inzwischen beherrscht, besonders jetzt da HTML 5, wieso willst du das staendig neu schreiben???

    Also, ich will dir in nichts reinreden, ich will das nur verstehen :huh: