veilige manier voor $_GET functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

J C

J C

22/02/2013 00:26:05
Quote Anchor link
Ik gebruik meerdere functies met $_GET erin. Nu wil ik dit veiliger maken. Welke manier is de beste?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$pagina=addslashes($_GET['pagina']);
if (!isset($pagina) || empty($pagina) || trim($pagina) == "")
{
$pagina='home';
}


Of

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
if (!isset($_GET['pagina']) || empty($_GET['pagina'])  || trim($pagina) == "")
{
$pagina='home';
}
else
{
$pagina=addslashes($_GET['pagina']);
}


Mijn eerste gevoel zegt de eerste code, ziet er ook iets netter uit.


Laat maar domme beredenering, alleen de 2 is goed, want bij de eerste krijg je een foutmeling als pagina niet bestaat.
Gewijzigd op 22/02/2013 02:03:47 door J C
 
PHP hulp

PHP hulp

19/04/2024 06:11:37
 
Ozzie PHP

Ozzie PHP

22/02/2013 01:46:00
Quote Anchor link
Ik zou het ongeveer zo doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$safe_pages
= array('product', 'contact'); // dit zijn bestaande pagina's die mogen worden aangeroepen
$page = 'home'; // stel de standaardpagina in
if (isset($_GET['page']) && in_array($_GET['page'], $safe_pages)) {
    $page = $_GET['page'];
}

include $page . '.php';
?>


A.u.b. in het vervolg niet je hele post meer doorstrepen, want dat leest niet echt handig...
 
J C

J C

22/02/2013 02:03:13
Quote Anchor link
BEdankt voor je reactie.

Ik vang het op een andere manier op:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$mainqry     = "
                        SELECT
                                website_podium_tekst.link,
                                website_podium_titel.internlink,
                                website_podium_titel.titel,
                                website_podium_tekst.include,  
                                website_podium_tekst.tekst  
                        FROM
                                website_podium_tekst
                        INNER JOIN
                                website_podium_titel
                                ON
                                website_podium_titel.internlink=website_podium_tekst.id
                        WHERE
                                website_podium_titel.lang='".$lang."'
                        AND
                                website_podium_tekst.link='".$pagina."' ";
$mainsql = mysql_query($mainqry);
    
    if($mainsql === false)
    {
        echo (" Er gaat iets mis in (".$mainqry .")".mysql_error($connection));
    }
    else
    {
        $maintekst = mysql_fetch_assoc($mainsql);
    }

    if($maintekst === false)
    {  
header("location: http://www.podiumverhuurhaaglanden.nl/".$lang."/error404");
    }

op de error 404 pagina kan men kiezen naar de homepage te gaan, tevens wil ik hier een script maken die bij houdt welke pagina's niet meer bestaan.
Gewijzigd op 22/02/2013 03:00:16 door J C
 
- SanThe -

- SanThe -

22/02/2013 08:46:15
Quote Anchor link
Wat is het nut van addslashes()?
Gebruik voor de beveiliging van je query mysql_real_escape_string().
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.