• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Suchfunktion / Suche / html Seiten

LikeStar

New member
Hallo Community,

ich suche ein Script oder ein Tutorial, welches mich zum Programmieren einer
Suchfunktion ermutigt.

Es soll simpel sein.

Ich habe etwa 400 Html Seiten.

Der App Nutzer gibt ein Begriff in das Suchfeld ein und mit der "Okay" Taste
durchforstet das Script alle 400 HTML Seiten. Die Methode ist sicherlich veraltet, aber anscheinend ausreichend

Wenn ich Hamburg eingebe, soll er alle HTML Seiten auflisten, die mit "Hamburg" auch zu tun haben.

Würde mich sehr freuen.

Vielen Dank.
 
Willst du sowas mit PHP umsetzen? Oder welche Sprache schwebt dir vor?
 
Willst du sowas mit PHP umsetzen? Oder welche Sprache schwebt dir vor?

Danke für deine Rückmeldung.

Ich habe lange gesucht. Ich habe ein PHP Script gefunden. Das Script durchforstet meinen Ordner nach
dem Begriff, was man eingibt und listet dann die HTML Seiten auf. Genau das was ich gesucht habe. Was hälst du von diesem Script? :D

Wenn er meine Seiten auflistet, wird alles KLEIN geschrieben? Ich möchte es aber NORMAL aufgelistet bekommen.
Woran liegt das denn?

PHP:
<?php
//Welcher Dateityp soll durchsucht werden?
$dateityp = ".php"; //= alle HTML-Dateien (.htm, .html, .shtml)
//Wenn alternativ PHP-Dateien durchsucht werden sollen, geben Sie unter $dateityp .php ein.
if(empty($search)) {$search=$_POST[search];}
if(strlen($search) < "3")
{echo "Geben Sie bitte einen Suchbegriff von mindestens 3 Buchstaben Länge ein.";exit;}
$found = "0";
$verz = opendir('.');
while($file = readdir($verz)) 
{  
if($file != "." && $file != ".." &&  !is_dir($file)) 
{
$filetype = stristr($file, $dateityp);
if(!empty($filetype))
{
$string = file_get_contents($file);
$string = html_entity_decode($string);
$string = strtolower($string);
$search = strtolower($search);
$test = substr_count($string, $search);
if(!empty($test))
{
$string = ereg_replace("\n", "", $string); 
$string = strip_tags($string);

$pieces = explode($search, $string);
$piece1 = substr($pieces[0], -50);
$piece1 = explode(" ", $piece1);
array_shift($piece1); 
$piece1 = implode(" ", $piece1);
$piece2 = substr($pieces[1], 0, 100);
$piece2 = explode(" ", $piece2);
array_pop($piece2); 
$piece2 = implode(" ", $piece2);
$rest = "$piece1<b>$search</b>$piece2";
$array .= "<b>$test Treffer gefunden</b> <br>ein $rest <br><a href=\"$file\" target=\"_self\" class=\"link\"> Treffer anzeigen</a><br><br>\n";
$found ++;    
}}}}
closedir($verz);
if($found != "0")
{
echo "Es wurden <strong>$found</strong> Treffer gefunden sortiert nach der Häufigkeit des Vorkommens des Suchbegriffs:<br><br>"; 
$array = explode("\n", $array);
natsort($array);
reset($array);
$array = array_reverse($array);
while(list($line_num, $line) = each($array)) 
{
$ausgabe .= "$line\n";
}
print $ausgabe;
}
if($found == "0")
{ echo "Es wurden leider keine Übereinstimmungen mit dem eingegebenen Suchbegriff gefunden !";}
print ""; 
?>
 
Zuletzt bearbeitet:
Was hälst du von diesem Script?
Was ich davon halte? Ehrlich gesagt: ein suboptimaler Haufen Code ohne jegliche Einrückung; noch dazu mit Kodierungsfehlern...
Außerdem ist es ein massives(!) Sicherheitsrisiko, PHP-Skripte ungeparst durchsuchen zu lassen - da probier ich doch gleich mal die ganz harmlose Suchanfrage "password" o.ä., und schwupps hab ich deine sämtlichen MySQL-Verbindungsdaten und logge mich in deine Datenbanken ein.

Wenn er meine Seiten auflistet, wird alles KLEIN geschrieben? Ich möchte es aber NORMAL aufgelistet bekommen.
Woran liegt das denn?
PHP:
$string = strtolower($string);
$search = strtolower($search);
 
Was ich davon halte? Ehrlich gesagt: ein suboptimaler Haufen Code ohne jegliche Einrückung; noch dazu mit Kodierungsfehlern...
Außerdem ist es ein massives(!) Sicherheitsrisiko, PHP-Skripte ungeparst durchsuchen zu lassen - da probier ich doch gleich mal die ganz harmlose Suchanfrage "password" o.ä., und schwupps hab ich deine sämtlichen MySQL-Verbindungsdaten und logge mich in deine Datenbanken ein.

Hallo,

es handelt sich hierbei um eine Offline Seite. Die "Suchseiten" die gefunden werden sollen befinden sich alle in einem Ordner.
Das Ganze soll in eine APP umgewandelt werden.

Kann mir beim Besten Willen nicht vorstellen, dass man so einfach ein Datenbank "knacken" kann. Hoffe du nimmst es mir nicht
übel.

Dafür sind die Datenbanken mittlerweile zu gut gesichert. Es sei denn du bist so intelligent und du schreibst irgendwo dein
Benutzername und Passwort in eine Textdatei rein ; - )

Dann werde ich wohl versuchen das Ganze mit Javascript zu lösen.
 
Kann mir beim Besten Willen nicht vorstellen, dass man so einfach ein Datenbank "knacken" kann.
Dafür sind die Datenbanken mittlerweile zu gut gesichert. Es sei denn du bist so intelligent und du schreibst irgendwo dein
Benutzername und Passwort in eine Textdatei rein
Ähm... ich habe Zugangsdaten in einem eigenen Ordner, der nicht über das Web aufrufbar ist, gespeichert. Diese werden dann falls benötigt in ein PHP-Skript eingebunden. So kann ein Angreifer sich auch dann nicht einloggen, wenn er Zugriff auf den Quelltext haben sollte.

Nichtsdestotrotz gehe ich davon aus, dass du sicherlich in einem deiner PHP-Skripte so etwas ähnliches wie folgenden Inhalt drinstehen haben wirst:
PHP:
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
Wenn ich in deinem Suchskript nun beispielsweise nach "mysqli" suche, erhalte ich den gesamten Quelltext und damit Benutzername und Passwort... :cool:

Dann werde ich wohl versuchen das Ganze mit Javascript zu lösen.
Wird nicht funktionieren - wenn dann nur mit einigen Tricks, die enorm ressourcenverschwendend und extrem suboptimal sind. web development - What are the difference between server-side and client-side programming? - Programmers Stack Exchange
 
Wie verbindest du dich denn dann mit einer Datenbank?

Mit welcher Datenbank?

Wir haben keine Datenbanken angelegt.



Unwahrscheinlich, dass mal eine Datenbank geknackt wird. Da ist ein Lottogewinn schon
wahrscheinlicher. Und wenn das passieren sollte, dann wäre höchsten die Webseite dran.
Aber die Login Daten vom Webhosting bleiben sicher ;-)


Ich möchte eine APP programmieren. D.h. eine HTML5 Seite wird dann in eine APP umgewandelt.
Ich habe mir das so vorgestellt, dass sich die Seiten Alle in einem Ordner befinden.
Und die App kann natürlich offline genutzt werden. Er sucht die HTML Seiten einfach aus dem
Ordner raus.
 
Zurück
Oben