Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Frontend: Nur Buchstaben und Zahlen in der Suchfunktion erlauben?

    Roberto

    • Frisch an Board
    • Beiträge: 84
    Hallo,

    möglicherweise habe ich nicht die richtigen Begriffe zur Hand, denn in der Forensuche habe ich nichts zu folgendem Anliegen gefunden. In diesem Fall bitte ich um Nachsicht und den entsprechenden Link zum Thema.

    Wie kann ich verhindern, dass in der Shopsuche im Frontend Sonderzeichen als Suchbegriff akzeptiert werden?
    Zum Beispiel lassen sich durch die Eingabe von %%% in der Suche alle Artikel im Shop anzeigen und das möchte ich vermeiden.

    Grüße
    Roberto

    Linkback: https://www.modified-shop.org/forum/index.php?topic=34641.0

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Folgender Link sollte dir bezüglich der Eingabe von '%%%' im Suchfeld weiterhelfen.

    Suche mit Prozentzeichen unterbinden

    Tipp:
    Suche im modified-shop mit Google.
    'Suche mit Prozentzeichen unterbinden site:modified-shop.org'

    Gruss
    Hanspeter

    Roberto

    • Frisch an Board
    • Beiträge: 84
    Dankeschön :-)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    In dem Zusammenhang fällt mir ein, daß man auch stupide Roboter- oder Internet-Henneschen-Suchen unterbinden sollte. Da das Suchfeld (zumindest im Default-Template) mit einem Default-Wert gefüllt ist und als Suchwert ja dann der Default-Wert "Suchen" oder wie immer die Sprach-Konstante IMAGE_BUTTON_SEARCH definiert ist, abgesendet wird, baue ich meinen Kunden z.B. auch so etwas ein
    Code: PHP  [Auswählen]
    if (($keywords && strlen($keywords) < 3 && strlen($keywords) > 0) || $keywords == str_replace(' ', '', IMAGE_BUTTON_SEARCH)) {
      $errorno += 1;
    }
    womit eine unsinnige DB-Abfrage vermieden wird.

    Gruß,
    noRiddle

    webald

    • modified Team
    • Beiträge: 2.791
    Code: PHP  [Auswählen]
    strlen($keywords) < 3 && strlen($keywords) > 0

    Bin ich zu doof das oben zu verstehen? Wenn kleiner 3 dann ist doch größer 0 unnötig, oder?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Ich habe das einfach aus dem Original übernommen und lediglich erweitert.
    Genau überprüft habe ich's nicht.
    In der Tat gibt es da Ungereimtheiten:
    • wird schon oben in der advanced_search_result.php die Variable $keywords bei empty($_GET['keywords'] auf false gesetzt und folglich sollte die Abfrage if($keywords && strlen($keywords) < 3) ausreichend sein
    • jedoch ergibt andererseits eine leere Suche als Ergebnis alle Artikel des Shops (getestet in 1.06 SP2)

    Seltsam. Habe jedoch momentan nicht die Zeit das zu analysieren.

    Gruß,
    noRiddle

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Bei keywords = '' kommen standardmäßig ALLE Artikel (1.06SP2)

    web28

    • modified Team
    • Beiträge: 9.404
    Nicht gewünschte Zeichen könnte man mit einem jQuery abfangen. Die Zeichen können dann per Tastatur nicht eingegeben werden.  Beispiele gibt es im Netz.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Und dann trägt der User die Zeichen direkt in der Adresszeile ein ....
    5 Antworten
    2348 Aufrufe
    09. Januar 2017, 21:36:33 von pidot
    3 Antworten
    3433 Aufrufe
    16. Dezember 2011, 14:56:38 von Eichenhorn
    6 Antworten
    2840 Aufrufe
    03. März 2011, 12:36:29 von saku70