Mange har efterhånden en hjemmeside med en mysql database, men mange ved ikke hvor meget skade en "hacker" eller "cracker" kan gøre på den hvis du ikke har beskyttet den. Heldigvis er det ganske simpelt!
Guiden er skrevet til folk der har en hvis forståelse for php og som kender alt til html og form's i forvejen
Vi skal bruge 2 sider.
function.php
post_news.php
functions.php
<?php
function secure($text) {
$text = addslashes($text);
$text = trim($text);
$text = htmlspecialchars($text);
return $text;
}
?>
så er det tid til at forstå koden.
function secure($text) {
function betyder vi starter en function, og secure() er navnet $text er den variable som vi ønsker og sikre.
$text = addslashes($text);
$text = trim($text);
$text = htmlspecialchars($text);
er tilføjer vi et " / " ved alle " ' " så de ikke fucker mysql kommandoerne op, og så laver vi alle <kommando>'er om så "<a>" fx kommer til at hedde "<a>" og er helt ufarlig.
return $text;
så retunere vi vores resultat.
post_news.php
<?php
<? include("functions.php"); ?>
if ($_POST['news_post']) {
mysql_connect("host","brugernavn","password");
mysql_select_db("database");
$text = $_POST['text'];
$text = secure($text);
elseif (!$_POST['text']) {
echo "Please fill in the text field, you are being redirected...";
header("Refresh: 5; url=http://dinhjemmesideher.dk/post_news.php");
}
else {
echo "din tekst er nu sikret:<br />";
echo $text;
}
}
else {
?>
<form method="post" action="http://dinhjemmesideher.dk/post_news.php">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Text: </td>
<td><input name="text" type="text" value="" /></td>
</tr>
<tr>
<td height="10px"></td>
<td></td>
</tr>
<tr>
<td></td>
<td><input class="buttom" type="submit" name="news_post" value="Post" /></td>
</tr>
</table>
</form>
<?php
}
?>
så kigger vi lige på den.
<? include("functions.php"); ?>
her loader vi functions ind i siden.
if ($_POST['news_post']) {
her tjekker vi om man har trykker på knappen
mysql_connect("host","brugernavn","password");
mysql_select_db("database");
så connecter vi.
$text = $_POST['text'];[/
så smider vi indholdet fra boxen vi udfyldte over i $text
$text = secure($text);
her køre vi $text igennem vores function secure()
elseif (!$_POST['text']) {
echo "Please fill in the text field, you are being redirected...";
header("Refresh: 5; url=http://dinhjemmesideher.dk/post_news.php");
}
her tjekker den om vi har udfyldt boxen, hvis den er tom så skriver den en fejl og sender os tilbage til post_news.php
else {
echo "din tekst er nu sikret:<br />";
echo $text;
}
så hvis du har udfyldt boxen så skriver vi texten som nu er sikret
resten er bare en alm. html form med en box og en knap.
.:. www.bl4ck-art.dk .:.
.:. brings darkness to life .:.