Mysql sicher machen!

Nerlich

Mitglied
Hallo ich hab eine Mysql abfrage, leider ist sie zu unsicher so das ich neuerdings einen Witzbolt auf meiner Seite hab der immer News in die Datenbank reinschreibt.
Der Code sieht wie folgt aus!
HTML:
<?
if($access==********) {;} else {header("Location: http://www.christian-nerlich.de");};

include "../../../config/db.php";

$command=mysql_query("SELECT COUNT(ID) AS anzahl FROM news");
$test=mysql_fetch_array($command);
$var1=0;

for($i=$test[0]; $i>0; $i--)
{
$var="checkbox$i";
$var1++;

if($$var==checked) {mysql_query("UPDATE news SET free=1 where ID=$var1");} else {mysql_query("UPDATE news SET free=0 where ID=$var1");};
};
?>

Kann mir jemand von euch sagen wie ich den verändern, verbessern muss, so das nur ich zugriff auf die Datenbank habe und kein fremder von extern?
 
Hi,

also in diesem Scriptteil liegt nicht der Hund begraben, muss wo anders sein. Hier in diesem Script wird ja keine Variable von außen in das Query gebracht, außer das $var1 aber das ist ja ein Integer und somit bieter er keine Angriffsfläche .

Was du aber mal schauen kannst ist ob "register_global" auf OFF steht, dieses findest du in der php.ini

Gruß
ne0hype
 
Stimmt! Hier wird die Variable übertragen!
PHP:
<?
if($access=*******) {;
} else {
header("Location: http://www.christian-nerlich.de");};

include "../../../config/db.php";
include "../../clock/clock_time.php";

$autor="Stefan & Christian";
$date="$day.$month.$year";
$sqlcommand="INSERT INTO news (titel,inhalt,datum) VALUES ('$titel','$inhalt','$date')";
mysql_query("$sqlcommand");

?>
<meta http-equiv="refresh" content="3; URL=news.php?access=******">

Wie kann ich dieses Script sicher machen?
 
Zurück