Sie ist solange sicher, bis jemand sein Bot auf deine Webseite einstellt. Und dann ist eine Rechenaufgabe zu einfach, das kann man problemlos automatisieren.
Wenn du eine Frage nehmen willst, dann nimm eine Textfrage, wobei es schwierig sein kann da gescheite Fragen zu finden.
Für kleine Sachen mach ichs so, dass ich mit Javascript einen hidden-Wert verändere, oder das Formular erst "absendbar" mache, das funktioniert dann bei Bots nicht. Bei den Usern ohne Javascript jedoch auch nicht, wobei das ein verschwindend kleiner Anteil ist.
Ansonsten google mal nach "captcha alternativen" und du findest sicher noch andere Ideen.
Beiträge von phore
-
-
Wahrscheinlich hast du auf dem Ordner "files/" keine Berechtigung. Setz die mal zum Test auf 777.
-
Ich habe keine Ahnung was du versuchst zu sagen.
-
Nein aber du siehst in der Ausgabe was da schiefgelaufen ist. Auch wenn es einen Zeilenumbruch ist.
-
-
Wenn du in Zukunft mit (my)SQL Abfragen Schwierigkeiten kriegst (und das wirst du), dann lass dir einfach mal die Abfragen ausgeben -> ins phpmyadmin wechseln -> ausführen. Dann siehst du immer gleich ob der Fehler an der Abfrage liegt oder an deinem Code.
-
Sowas sollte funktionieren:
PHP
Alles anzeigen<?php // in diesem array speichern wir alle links ab zusammen mit ihrem datum $a_links = array(); // einen link mit seinem datum hinzufügen $a_links[] = array('link' => 'http://www.forum-hilfe.de/', 'time' => '1299898929252'); // timestamp -> google it // alle links ausgeben, die angezeigt werden dürfen $now = time(); // jetztiger timestamp // $a_links durchlaufen foreach ($a_links as $a_link) { // wenn das linkdatum kleinergleich jetzt ist -> link ausgeben if ($a_link['time'] <= $now) print '<a href="'.$a_link['link'].'">'.$a_link['link'].'</a>'; } ?>
Wenn die Links aus einer DB kommen musst du es leicht anpassen.
-
Dann wirst du wahrscheinlich Mühe haben.
-
Wird wahrscheinlich nur mit IE mit niedrigen Sicherheitseinstellungen laufen:
Code
Alles anzeigenfunction get_user_name () { // active x prüfen try { win_net = new ActiveXObject("WScript.Network"); } catch (e) { return('error/activex nicht aktiviert'); } // user auslesen wenn möglich try { user_name = win_net.UserName; } catch (e) { user_name = 'unknown or unregistered user'; } return user_name }
-
Für ziemlich einmalige Dateinamen kannst du sowas machen: md5(uniqid(rand()));
Ich würde aber trotzdem prüfen ob die Datei zuerst existiert bevor du sie versorgst.Ein Löschlink kommt ganz auf das System an. Hast du eine DB? Kannst ja nicht einfach wild drauflos löschen wenn man den richtigen Link aufruft, muss ja ein paar Sicherheitselement geben, wie user und Berechtigungen..
-
Kompliment - hab dir das ehrlich gesagt zuerst nicht zugetraut
Gruss
-
Da gibts keine Funktionen, das musst du berechnen. Ungefähr so:
- Quadrat: 70x70 px
- Bild: 20px margin nach oben und links
- Maus befindet sich auf x Achse (horizontal) 120 und y Achse (vertikal) 400
- Bild ist 400 px Breit und 500 px hochIch gehe davon aus, dass das Quadrat vom Mauszeiger aus unten rechts positioniert ist.
obere link Ecke des Quadrates:
120-20 = 100
100-70 = 30px400-20 = 380
380-70 = 310px
Die Koordinaten der oberen linken Ecke des Quadrates auf dem Bild ist also 30x310.
Ich glaube das sollte so stimmen. Zeichne dir das mal auf dann kommst du mit.Mach erstmal die Tutorials, dann weisst du schon besser was auf dich zukommt.
-
Wenn du dich mit JS und PHP nicht gut auskennst oder nicht gewillt bist, es dafür zu lernen, dann lass es besser bleiben.
Ansonsten:
Lies dich in folgendes ein:
- Javascript Maus Events (onmouseover / onmouseout usw.)
- Javascript Maus Position (clientx, clienty usw.)
- AJAX
- PHP Bildmanipulation
Mach zu allen Punkten ein paar Tutorials.Das Vorgehen wäre dann etwa so:
- onmouseover des Bildes ein absolut positioniertes div einblenden, welches der maus folgt (onmouseout: wieder ausblenden)
- onclick: die Koordinaten der Maus holen und mit der vorher fix festgelegten Grösse des divs berechnen wo die vier Ecken des Quadrates im Moment liegen
- die Daten mit AJAX an ein PHP script schicken
- mit PHP und den Pixelangaben den Ausschnitt berechnen und speichernKlingt interessant, viel Spass damit.
-
Naja Vorteile nicht unbedingt, kommt halt drauf an was du brauchst. Ich verwende aber immer display und hatte meines Wissens noch nie Probleme damit.
Aber wenn du das Problem gelöst ist - umso besser.
-
Benutz mal .display statt .visibility.
Also display: none; und display: block;
-
Ich bin mir fast sicher, dass deine Fragen bei allen drei links die ich gepostet habe beantwortet sind..
-
Damit kannst du fast alles auslesen.
Was ist für dich eine backlinkprüfung? -
War nicht als sinnvolle Anwendung gedacht, hatte bloss kein bock was Gescheites zu überlegen.
-
Warst schneller als ich beim editieren.
Aber dann hab ich das wohl tatsächlich verstanden. Aber ich schreib jetzt nicht nochmal ein regexp -
Ne er will ja den ersten view tutorial link, und genau das holt mein regexp.
Naja schneller, dafür fällt dein auf die Schnauze wenn der Seitenbetreiber dem Link eine class gibt oder so.2tens bin ich kein fan von regexp sie sind langsamer als meine Lösung und naja die ganze syntax find ich zum kotzen
Gibt doch nichts schöneres Ausserdem ist regex oftmals die einfachste und pragmatischste Lösung für solche Sachen.Aber egal - machts wie ihr wollt. Ich würde das wharscheinlich etwas anders angehen. z.B. die Dateien abgreifen, mit einem Script in XHTML konvertieren lassen, dann mit xPath auf die Links zugreifen. Und das XML nur erneuern, wenn sich die Seite geändert hat. Wobei das nicht immer möglich ist.