MySql suchscript

G

GordonX

Guest
ich habe ein paar suchscripts für eine BLZ Suche leider bekomme ich keine ausgabe und auch keinen fehler.
wo liegt das Problem?
Bitte um Hilfe!!!
hier mal eins davon:

CODE <?php
include '/config/config.php';

mysql_connect($host, $user, $pw);
mysql_select_db($dbname);

if ($search) {

$result = mysql_query("SELECT * FROM bankleitzahlen WHERE blz LIKE '%$search%' ORDER BY 'DESC'");

if (!$result) {
echo (" Fehler bei der Abfrage " .
mysql_error() );
exit();
}

while ($row = mysql_fetch_array($result) ) {
?>
<title>Banksuche per Postleitzahl</title>
<body bgcolor="#AFAFAF">
<div align="center">
<table border="1" bgcolor="#AFAFAF" style="border-collapse: collapse">
<tr>
<td width="150" align="center"><font size="2">Bank</font></td>
<td width="150" align="center"><font size="2">BLZ</font></td>
<td width="150" align="center"><font size="2">Kurzbezeichnung</font></td>
<td width="150" align="center"><font size="2">Ort</font></td>
<td width="200" align="center"><font size="2">BTX Bezeichnung</font></td>
<td width="200" align="center"><font size="2">PLZ</font></td>
</tr>
</table></div><div align="center">
<table border="1" bgcolor="#C0C0C0" style="border-collapse: collapse">
<tr>
<td width="150" align="center" bgcolor="#C0C0C0"><?php echo ($row["bank"]); ?> </td>
<td width="150" align="center" bgcolor="#C0C0C0"><?php echo ($row["blz"]); ?></td>
<td width="150" align="center" bgcolor="#C0C0C0"><?php echo ($row["kurzbezeichnung"]); ?></td>
<td width="150" align="center" bgcolor="#C0C0C0"><?php echo ($row["ort"]); ?></td>
<td width="200" align="center" bgcolor="#C0C0C0"><?php echo ($row["btx_bezeichnung"]); ?></td>
<td width="200" align="center" bgcolor="#C0C0C0"><?php echo ($row["plz"]); ?></td>
</tr>
</table></div>

<?php
}
}
else
{
?>

<body bgcolor="#AFAFAF">
<p align="center">Banksuche per BLZ,PLZ oder Bankname<br>
</p>
<FORM method="post" action="<? echo $_SERVER['SELF_PHP']; ?>">
<p align="center">
<INPUT type=text name=search size=10>
<input name="submit" type="submit" value="Suchen">
</p>
</form>
<p align="center"><b><a href="javascript:history.go(-1);">Zurück</a></b></p>

<?php
}
?>


und die dazugehörige config.php


CODE <?php

// Variables for MySQL-Access and DB
// Variablen fuer MySQL-Zugang und Datenbank
$host = "host";
$user = "user";
$pw = "pw";
$dbname = "database";

// Connect to MySQL-Server
// Verbindung zu Datenbank-Server herstellen
$cnx = @mysql_connect($host, $user, $pw)
or die($cnx_msg);

// Connect to database
// Verbindung mit Datenbank herstellen
@mysql_select_db($dbname, $cnx)
or die($db_msg);

?>
 
QUOTE (GordonX @ So 29.10.2006, 3:12) ich habe ein paar suchscripts für eine BLZ Suche leider bekomme ich keine ausgabe und auch keinen fehler.
wo liegt das Problem?
Bitte um Hilfe!!!
hier mal eins davon:


CODE <?php
include '/config/config.php';

mysql_connect($host, $user, $pw);
mysql_select_db($dbname);

if ($search) {

$result = mysql_query("SELECT * FROM bankleitzahlen WHERE blz LIKE '%$search%' ORDER BY 'DESC'");

if (!$result) {
echo (" Fehler bei der Abfrage " .
mysql_error() );
exit();
}

while ($row = mysql_fetch_array($result) ) {
?>
<title>Banksuche per Postleitzahl</title>
<body bgcolor="#AFAFAF">
<div align="center">
<table border="1" bgcolor="#AFAFAF" style="border-collapse: collapse">
<tr>
<td width="150" align="center"><font size="2">Bank</font></td>
<td width="150" align="center"><font size="2">BLZ</font></td>
<td width="150" align="center"><font size="2">Kurzbezeichnung</font></td>
<td width="150" align="center"><font size="2">Ort</font></td>
<td width="200" align="center"><font size="2">BTX Bezeichnung</font></td>
<td width="200" align="center"><font size="2">PLZ</font></td>
</tr>
</table></div><div align="center">
<table border="1" bgcolor="#C0C0C0" style="border-collapse: collapse">
<tr>
<td width="150" align="center" bgcolor="#C0C0C0"><?php echo ($row["bank"]); ?> </td>
<td width="150" align="center" bgcolor="#C0C0C0"><?php echo ($row["blz"]); ?></td>
<td width="150" align="center" bgcolor="#C0C0C0"><?php echo ($row["kurzbezeichnung"]); ?></td>
<td width="150" align="center" bgcolor="#C0C0C0"><?php echo ($row["ort"]); ?></td>
<td width="200" align="center" bgcolor="#C0C0C0"><?php echo ($row["btx_bezeichnung"]); ?></td>
<td width="200" align="center" bgcolor="#C0C0C0"><?php echo ($row["plz"]); ?></td>
</tr>
</table></div>

<?php
}
}
else
{
?>

<body bgcolor="#AFAFAF">
<p align="center">Banksuche per BLZ,PLZ oder Bankname<br>
</p>
<FORM method="post" action="<? echo $_SERVER['SELF_PHP']; ?>">
<p align="center">
<INPUT type=text name=search size=10>
<input name="submit" type="submit" value="Suchen">
</p>
</form>
<p align="center"><b><a href="javascript:history.go(-1);">Zurück</a></b></p>

<?php
}
?>


und die dazugehörige config.php


CODE <?php

// Variables for MySQL-Access and DB
// Variablen fuer MySQL-Zugang und Datenbank
$host = "host";
$user = "user";
$pw = "pw";
$dbname = "database";

// Connect to MySQL-Server
// Verbindung zu Datenbank-Server herstellen
$cnx = @mysql_connect($host, $user, $pw)
or die($cnx_msg);

// Connect to database
// Verbindung mit Datenbank herstellen
@mysql_select_db($dbname, $cnx)
or die($db_msg);

?>


achja nochwas
wenn man eine blz eintippt und auf suchen klickt kommt nur eine leere suchmaske also die startseite der blz suche.
Bevor ich mit meiner HP umgezogen bin, gingen die such scripte noch! doch nun nicht mehr!
 
Hallo,

änder mal diese Zeile:
<INPUT type=text name=search size=10>
so:
<input name="search" type="text" size="10">

und diesen Bereich:CODE
<?php
include '/config/config.php';

mysql_connect($host, $user, $pw);
mysql_select_db($dbname);

if ($search) {


--> Das er so ausschaut:
CODE
<?php
include '/config/config.php';

mysql_connect($host, $user, $pw);
mysql_select_db($dbname);

if ($_POST['search']) $search = $_POST['search'];

if ($search) {
 
wenn ich die Zeilen so ändere wie Du es sagst kommen diese Fehler:

CODE Warning: main(): open_basedir restriction in effect. File(/config/config.php) is not within the allowed path(s): (/srv/www/web0/html/:/srv/www/web0/phptmp/:/srv/www/web0/files/:/srv/www/web0/atd/) in /srv/www/web0/html/suche/suche_blz.php on line 3

Warning: main(/config/config.php): failed to open stream: Operation not permitted in /srv/www/web0/html/suche/suche_blz.php on line 3

Warning: main(): Failed opening '/config/config.php' for inclusion (include_path='.') in /srv/www/web0/html/suche/suche_blz.php on line 3

Warning: mysql_connect(): Access denied for user: 'wwwrun@localhost' (Using password: NO) in /srv/www/web0/html/suche/suche_blz.php on line 5

Warning: mysql_select_db(): Access denied for user: 'wwwrun@localhost' (Using password: NO) in /srv/www/web0/html/suche/suche_blz.php on line 6

Warning: mysql_select_db(): A link to the server could not be established in /srv/www/web0/html/suche/suche_blz.php on line 6
 
QUOTE (GordonX @ So 29.10.2006, 17:18) wenn ich die Zeilen so ändere wie Du es sagst kommen diese Fehler:


CODE Warning: main(): open_basedir restriction in effect. File(/config/config.php) is not within the allowed path(s): (/srv/www/web0/html/:/srv/www/web0/phptmp/:/srv/www/web0/files/:/srv/www/web0/atd/) in /srv/www/web0/html/suche/suche_blz.php on line 3

Warning: main(/config/config.php): failed to open stream: Operation not permitted in /srv/www/web0/html/suche/suche_blz.php on line 3

Warning: main(): Failed opening '/config/config.php' for inclusion (include_path='.') in /srv/www/web0/html/suche/suche_blz.php on line 3

Warning: mysql_connect(): Access denied for user: 'wwwrun@localhost' (Using password: NO) in /srv/www/web0/html/suche/suche_blz.php on line 5

Warning: mysql_select_db(): Access denied for user: 'wwwrun@localhost' (Using password: NO) in /srv/www/web0/html/suche/suche_blz.php on line 6

Warning: mysql_select_db(): A link to the server could not be established in /srv/www/web0/html/suche/suche_blz.php on line 6


ich habe den absoluten Pfad angegeben ! damit klappt es!!
mit:

QUOTE include '/srv/www/web0/html/suche/config/config.php';


nur ist es möglich, das man auch einen banknamen oder eine postleitzahl eingeben kann um eine ausgabe zu bekommen!?

Ansonsten vielen vielen Dank!!! Du glaubst garnicht wie lange ich schon nach einer Lösung suche!!!

Super!!!
 
Wenn ich so einen Code sehe, dann kann ich für dich, @GordonX, nur hoffen, daß Du das niemals in Betrieb nimmst.

Das Ding ist offen wie ein Scheunentor, da kann man dir mit Sql-Injektionen wahrscheinlich sofort deine mySql plattmachen oder - noch schlimmer - gezielt manipulieren.

Und Programmieren ist nichts zum Herumraten und Gucken, ob es funktioniert, sondern sollte einigermaßen systematisch betrieben werden. Das

CODE Du glaubst garnicht wie lange ich schon nach einer Lösung suche!!


als Reaktion auf den Hinweis von @webmasterletter ist nix systematisches.

 
ist es den möglich mein script zu schützen, bzw. meine Datenbank zu schützen !?
für jede Hilfe wäre ich Dir dankbar!!!
 
QUOTE (GordonX @ So 29.10.2006, 18:17)ist es den möglich mein script zu schützen, bzw. meine Datenbank zu schützen !?

Natürlich ist das möglich, sonst könnte ich ja bei meinem Angebot, bei dem Nutzer sogar eigene Sql-Abfragen erstellen können, nicht mehr ruhig schlafen.

Beschäftige dich einige Monate lang mit mySql und PHP. Wenn Du bei jeder Zeile deines Scripts weißt, was diese macht und warum die da steht, dann mache dir Gedanken über eine ordentliche Fehlerbehandlung und lies dich dann in das Thema Sql-Injektionen ein.

Es bringt m.E. nach überhaupt nichts, in einem Forum zu sagen: 'Mach dies, dann ist das dicht'. Denn ohne ein Problembewußtsein für die möglichen Gefahren wirst Du dir immer wieder neue Löcher aufreißen.

Und im Zweifelsfall sagt dir dann nicht jemand in einem Forum, daß da etwas undicht ist, sondern Du meinst, Du hättest es verstanden - und stellst eines Tages fest, daß deine Daten weg sind - oder vielleicht die Daten deiner Kunden, für die Du eine webbasierte Datenbanklösung entwickelt hattest.
 
Ich hatte so oder so vor mich in mySQL und PHP einzulesen!
Da es mich stört, das ich ständig auf fremde Hilfe angewiesen bin!
Ich habe die suchfunktionen erstmal auf Eis gelegt!
Kannst du mir gute Lektüre zu MySQL und PHP 5 empfehlen.
Ist MySQL & PHP5 Markt + Technig gut ?
Es gibt nicht viele Menschen die so aufrichtig und ehrlich sind wie Du !
Danke deiner Belehrung.
 
QUOTE (GordonX @ So 29.10.2006, 19:45)Kannst du mir gute Lektüre zu MySQL und PHP 5 empfehlen.
Ist MySQL & PHP5 Markt + Technig gut ?

Keine Ahnung, ich nutze beides nicht, bewege mich seit Jahren in der Microsoft-Welt mit .NET und MS-SqlServer.

Bezüglich eines Sql-Tutorials bin ich vorbelastet - Sql-Tutorial

Zu den Problemen von Webarchitekturen hatte ich mal aufgrund von Gesprächen mit einer Berliner Bekannten einen längeren Artikel verfaßt - Zur Architektur von Datenmanagement-Systemen.

Der Artikel ist beim Virtuellen Datenschutzbüro aufgeführt.
 
Also wenn Du Dein Script nur für Dich hinter einem geschützen Bereich
verewendest ist es schon ok. Aber öffentlich ist es wie @jAuer sagt
"offen wie ein Scheunentor".

Zum dem Buch kann ich Dir auch nichts sagen.
Allgemein gehen Anfängerbücher nicht so tief in die Sicherheitaspekte ein.
Am Anfang sollte ja aber auch der Spass an erster Stelle stehen,
damit man Lust bekommt mehr zu machen. Such Dir also
ein Buch wo etwas drinsteht, was Dich interessiert (i.d.R. programmiert
man im Laufe eines solchen Buchs irgendwas, z.B. ein Gästebuch).

Wichtig ist natürlich, wie es jAuer in seinem Bericht schreibt:
"Trau nie, nie, nie Benutzereingaben"
Aber SQL-Injektion Schutz geht wirklich sehr weit bei PHP,
für einen Anfänger sehr schwer.

z.B. das ' Zeichen ist sehr gefährlich.
Aber es reicht nicht dieses Zeichen einfach herauszufiltern,
da man es auf andere Arten, z.B. den Heximalwert, auch einschleussen kann.
 
Zurück
Oben