Support » Allgemeine Fragen » Welche Ressourcen benötigt eine sichere SUCHE? XSS sanitizing

  • Gelöst digitalPurist

    (@digitalpurist)


    Liebe WordPress-Worker,

    könnt Ihr mir sagen, was ich mindestens benötige, um ein sicheres Suchfeld einzusetzen? Wo wird denn das sanitizing des Eingabefeldes genau innerhalb eines Themes gemacht?

    Mein minimal puristisches Test-Theme besteht quasi nur aus
    – index.php
    – searchform.php

    Das sanitizing funktioniert für allgemeinen code, aber nicht für z.B. img.
    TwentyTwentyOne filtert auch img problemlos raus.

    darum-geht-es.de/sandbox3/

    Hier könnt Ihr mal etwas in das Suchfeld eingeben.
    (Ja, dafür habe ich kein SSL, aber das ist ja nur eine Testseite)

    Was benötige ich denn im Theme selbst noch?

    Danke für Eure Hilfe
    digitalPurist

    • Dieses Thema wurde geändert vor 2 Jahren, 3 Monaten von digitalPurist.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Thread-Starter digitalPurist

    (@digitalpurist)

    Ah, no, auch der normale Code wird nicht gefiltert – dachte ich.

    Wie sollen wir das ohne einen Blick in den Code beurteilen?

    WordPress bietet einige Funktionen für Validation und Sanitzing. Infos findest du unter Validating Sanitizing and Escaping User Data und Data Sanitization/Escaping.

    Thread-Starter digitalPurist

    (@digitalpurist)

    > Wie sollen wir das ohne einen Blick in den Code beurteilen?

    Der Code soll gar nicht beurteilt werden.
    Es ist 1:1 die searchform.php aus TwentyTwentyOne – also:

    
    $twentytwentyone_unique_id = wp_unique_id( 'search-form-' );
    $twentytwentyone_aria_label = ! empty( $args['aria_label'] ) ? 'aria-label="' . esc_attr( $args['aria_label'] ) . '"' : '';
    ?>
    <form role="search" <?php echo $twentytwentyone_aria_label; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped above. ?> method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
    	<label for="<?php echo esc_attr( $twentytwentyone_unique_id ); ?>"><?php _e( 'Search&hellip;', 'twentytwentyone' ); // phpcs:ignore: WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></label>
    	<input type="search" id="<?php echo esc_attr( $twentytwentyone_unique_id ); ?>" class="search-field" value="<?php echo get_search_query(); ?>" name="s" />
    	<input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'twentytwentyone' ); ?>" />
    </form>

    `
    Muss ich den Code anpassen, wenn ich TwentyTwentyOne nicht nutze?
    Die Variablen $twentytwentyone_unique_id etc. werden ja hier neu gesetzt und sind nicht explizit auf TwentyTwentyOne beschränkt, oder?

    searchform.php nutzt dann die function get_search_form aus der wp-includes/general-template.php. Das passiert aber außerhalb des Themes, ist also unabhängig davon.

    Wie gesagt, benötige ich ein sehr puristisches Theme – nur zum reinen Anzeigen von Informationen – und einer Suche.

    Du kannst mit einem Template searchform.php das Aussehen eines Suchformulars in einem Theme vorgeben. Letztendlich wird aber eine Get-Anfrage (sinngemäß sowas wie https://example.com/?s=Suchbegriff) ausgeführt, die von WordPress vor der Ausführung der Datenbankabfrage und Ausgabe als value im Suchfeld selbstverständlich sanitized wird.

    Wie gesagt, benötige ich ein sehr puristisches Theme – nur zum reinen Anzeigen von Informationen – und einer Suche.

    Schau dir mal Blockbase an. Ein sehr schlankes, Blockbasiertes Theme mit Unterstützung für Full Site Editing (was ja auch heißen kann, unnötigen Inhalt zu entfernen). Im Header kannst du dann auch ein Suchformular unterbringen.

    Thread-Starter digitalPurist

    (@digitalpurist)

    Danke für den Tipp zu Blockbase, Bego Mario!
    Das werde ich mir gleich installieren und analysieren.

    Schön. Dann markiere ich den Thread mal als „gelöst“. Sollte dir noch etwas einfallen, meldest du dich wieder …

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Das Thema „Welche Ressourcen benötigt eine sichere SUCHE? XSS sanitizing“ ist für neue Antworten geschlossen.