---
title: "Hur säker är min kod ?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/179273-hur-säker-är-min-kod"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Emil W"
published: "2009-07-06T09:42:35.000Z"
updated: "2009-07-06T14:59:02.000Z"
replies: 11
views: 892
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/179273-hur-säker-är-min-kod"
---

# Hur säker är min kod ?

## #1 — Emil W, 2009-07-06T09:42Z

Hur säker är min kod nu när jag har ändrat ?

```php
<?php

$con = @mysql_connect("******","******","********");
if(!$con)
{
die('Databasfel' . mysql_error());
}
mysql_select_db("***********", $con);

$id  = mysql_real_escape_string($_GET['id']);

$resultt = ("SELECT kommentarid,namn,datum,kommentar,id,privat FROM ********** WHERE kommentarid='$id'");

if(mysql_num_rows($resultt) == 0)
{
echo "Ingen har kommenterat detta inlägg :(";
}

while($row = mysql_fetch_array($resultt))
if($row['privat'] == 1)
{
echo "<div style=\"background:#FFFFFF; border:1px solid #000000; padding:5px; margin-top:10px;\">";
echo '- Denna kommentar är endast till för Emil Wiklund - ';
echo "</div>";
}
else
{
echo "<div style=\"background:#FFFFFF; border:1px solid #000000; padding:5px; margin-top:10px;\">";
echo "<font size=\"2\">Kommentaren skriven av ".$row['namn']." klockan ".$row['datum']."</font>";
echo "<hr>";
echo $row['kommentar'];
echo "</div>";
}

mysql_close($con);
?>
```

Permalänk: https://www.webforum.nu/p/179273

## #2 — nitro2k01, 2009-07-06T10:23Z

SQL-koden är nu säkrad. Men det går däremot fortfarande att skriva in HTML-kod i kommentaren, inklusive Javascript-kod. Någon elaking skulle till exempel kunna skicka dig vidare till vad som ser ut att vara en exakt kopia av din sida, men som sparar lösenordet man skriver om man försöker logga in till admin-interfacet.
Du kan lösa detta genom att anropa **htmlspecialchars** för varje sak som skrivs ut, som en användare har skrivit in. 
Både **htmlspecialchars($row\['kommentar'\])** och **htmlspecialchars($row\['namn'\])** allltså.

(Bra) säkerhet handlar inte om att bara täppa igen hål som man hittar utan att känna till sina programmeringsspråk väl och se till att varje rad man skriver är säker och inte skapar några nya luckor.

Permalänk: https://www.webforum.nu/p/2192224

## #3 — Emil W, 2009-07-06T11:28Z

Jag får detta felmeddelade

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\\wamp\\www\\provar.php on line 15

Permalänk: https://www.webforum.nu/p/2192228

## #4 — AndersN, 2009-07-06T11:41Z

Posta gärna koden med som du skrivit den, lite lättare att felsöka då  :bire

Permalänk: https://www.webforum.nu/p/2192232

## #5 — Emil W, 2009-07-06T11:49Z

```php
<?php
$con = @mysql_connect("**********","*******","*********");
if(!$con)
{
die('Databasfel' . mysql_error());
}
mysql_select_db("**********", $con);

$id  = mysql_real_escape_string($_GET['id']);

$resultt = ("SELECT kommentarid,namn,datum,kommentar,id,privat FROM ********* WHERE kommentarid='$id'");

while($row = mysql_fetch_array($resultt))

if($row['privat'] == 1)
{
echo "<div style=\"background:#FFFFFF; border:1px solid #000000; padding:5px; margin-top:10px;\">";
echo '- Denna kommentar är endast till för Emil Wiklund - ';
echo "</div>";
}
else
{
echo "<div style=\"background:#FFFFFF; border:1px solid #000000; padding:5px; margin-top:10px;\">";
echo "<font size=\"2\">Kommentaren skriven av ".$row['namn']." klockan ".$row['datum']."</font>";
echo "<hr>";
echo htmlspecialchars($row['kommentar']);
echo "</div>";
}
mysql_close($con);
?>
```

Permalänk: https://www.webforum.nu/p/2192233

## #6 — AndersN, 2009-07-06T12:01Z

Skall du inte ha { direkt efter din while?

```php
while($row = mysql_fetch_array($resultt))
{

if($row['privat'] == 1)
```

Självklart måste du ha en avslutande } med.

Permalänk: https://www.webforum.nu/p/2192236

## #7 — Emil W, 2009-07-06T12:09Z

jag får fortfarande 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\\wamp\\www\\provar.php on line 15

Permalänk: https://www.webforum.nu/p/2192237

## #8 — AndersN, 2009-07-06T12:13Z

Ändra 

```php
$resultt = ("SELECT kommentarid,namn,datum,kommentar,id,privat FROM ********* WHERE kommentarid='$id'");
```

Till

```php
$resultt = mysql_query("SELECT kommentarid,namn,datum,kommentar,id,privat FROM ********* WHERE kommentarid='$id'");
```

Permalänk: https://www.webforum.nu/p/2192239

## #9 — Emil W, 2009-07-06T12:21Z

Nu funkar allt det var mysql_query som fattades

Permalänk: https://www.webforum.nu/p/2192240

## #10 — nitro2k01, 2009-07-06T13:36Z

Meeeeen, nu glömde du ju htmlspecialchars för namnet. Nu kan jag bara skriva elak javascript-kod i namn-fältet men inte meddelandefältet...

Permalänk: https://www.webforum.nu/p/2192248

## #11 — Emil W, 2009-07-06T13:49Z

Jag har fixat för både namn och meddelande

men det är inte med här i koden

Permalänk: https://www.webforum.nu/p/2192249

## #12 — jme, 2009-07-06T14:59Z

Lite OT men jag skulle kika på PDO.

Permalänk: https://www.webforum.nu/p/2192259

---

Tråden på webben: https://www.webforum.nu/amne/php/179273-hur-säker-är-min-kod
