Jag är inte så överdrivet high på PHP, men har gjort några sidor med det, med grund i en gammal site som jag tog över. Nu har två av dessa siter blivit hackade med ett par månaders mellanrum och den senaste har nu stängts ner på grund av att index.php-filen innehåller en "säkerhetsrisk", enl webbhotellet.
Vad göra? Jag kan inte särskilt mycket PHP som sagt och att lösa det här är långt, långt över min förmåga.
Jag antar att hålet ligger i följande:
PHP-delen i headern:
<?PHP
$sidan = $_GET['link'].'.php';
if ($sidan==".php") {
$sidan = "start.php";
}
//print $sidan;
?>
...och PHP-delen i body:
<?include($sidan);?>
Flera av mina siter är uppbyggda på samma sätt, så vill ni se så kolla källkoden på min egen site.
Om någon vill/kan hjälpa blir jag så glad...
/Camilla
Om nu inte webhotellet eller möjligen funktionen i sig har ett skydd emot detta.
Det kanske kan vara smart att med ifsatser eller switch() el. liknande kolla värdet i $link och kolla om filen finns i din rotmapp, innan du inkluderar den:
$filename = $_GET['link'] . "php";
if(isset($filename) && file_exists($filename)){
include($filename);
}else{
die("filen finns inte på den här servern...");
}
Det här sättet är finare och kollar dessutom så att filen som ska inkluderas verkligen finns.
/r
Kollade din sida lite hastigt, du verkar ha egna <head></head> taggar i undersidorna:
....
</td>
<td width="6" background="pics/dot.jpg" bgcolor="#ffffff"> </td>
<td width="675" valign="top" bgcolor="#D6DBDE">
[b]<head>[/b]
<SCRIPT LANGUAGE="JavaScript">
<!-- Idea by: Nic Wolfe (Nic@TimelapseProductions.com) -->
<!-- Web URL: [url]http://fineline.xs.mw[/url] -->
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! [url]http://javascript.internet.com[/url] -->
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=500,left = 440,top = 262');");
}
// End -->
</script>
<link href="style.css" rel="stylesheet" type="text/css">
[b]</head>[/b]
<link href="text.css" rel="stylesheet" type="text/css"> <title>Välkommen</title><body bgcolor="#FFFFFF" link="#574D37" alink="#403621" vlink="#403621">
<link href="style1.css" rel="stylesheet" type="text/css">
<table width="691" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" background="pics/b
....
Det har inget med säkerheten att göra direkt, men är fel ;)
lägg javascript och <link> taggar högst upp i huvuddokument istället, för du kan inte ha fler headtaggar i samma dokument, kolla din källkod så förstår du vad jag menar.
En annan lösning kan ju vara att ha alla sidor du tillåter i en array och sedan kolla mot denna. Men jag tycker MickeA.com redan har visat bra lösningar.
259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25