/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Admin-side
Fra : Rigor Mortis


Dato : 16-04-04 15:01

Jeg har lavet en lille side med et billedgalleri med PHP og MySQL.

Jeg kan uploade billeder direkte på siden og det er ved at blive meget godt,
synes jeg.

Jeg har så lavet så jeg også kan slette direkte fra siden igen...



if ($admin=="bummelum")

{

echo " <input type=button value='Slet' onClick=\"if(confirm('Slet
&quot;".$billede."&quot;?'))
{window.location.href='sletbillede.php?id=".$id."&admin=".$admin."'} \"";

}



Jeg har så en sletbillede.php som tager sig af det praktiske. Det virker
fint, men det er jo noget usikkert, da alle kan gå ind og slette på siden
ved at skrive en URL i adresselinien:

http://www.minside.dk/index.php?admin=bummelum

Jeg vil gerne have lavet en loginside, som gør at jeg og kun jeg har
admin-rettigheder når jeg klikker rundt på siden.

Så vidt jeg har forstået, er det noget med sessions jeg skal have fat i.



Er der nogen der vil hjælpe mig med hvad der skal gøres?

Jeg har absolut meget lidt forstand på det, så overbærenhed vil blive
værdsat højt.

--

Rigor



 
 
Rigor Mortis (16-04-2004)
Kommentar
Fra : Rigor Mortis


Dato : 16-04-04 15:12

"Rigor Mortis" <rigor@mortis.com> skrev i en meddelelse
news:407fe728$0$248$edfadb0f@dread16.news.tele.dk...

>
> Jeg har absolut meget lidt forstand på det, så overbærenhed vil blive
> værdsat højt.
>


Jeg vil lige tilføje noget:

Register_globals er sat til 'ON' på serveren.

Det er ikke nødvendigt at der er flere brugernavne/passwords der har adgang
til admin-delen.
Men ellers har jeg MySQL, hvis det er.

Flere oplysninger følger hvis det ønskes.
--
Rigor



Thomas Lindgaard (19-04-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 19-04-04 10:38

On Fri, 16 Apr 2004 16:12:28 +0200, Rigor Mortis wrote:

> Register_globals er sat til 'ON' på serveren.

Den synes jeg så at du skulle slå fra - det er nemlig en del af dit
problem.

Med register_globals sat til ON vil

http://en.server.dk/side.php?admin=fis_i_hornlygte

føre til at der i dit script vil være en variabel $admin med værdien
'fis_i_hornlygte'. Det er jo et problem hvis det ikke er meningen at
$admin skal have en værdi før brugeren har logget ind!

Hvis du i stedet bruger $_POST['admin'], så er du sikret at variablen i
hvert fald kommer fra en form på forrige side.

Sessions er meget nemme at arbejde med:

login.php
<?php
if ( isset($_POST['submit']) && tjek_brugernavn_kodeord() )
{
session_start();
$_SESSION['brugeren er logget ind'] = true;
header('Location: admin.php');
exit();
?>
<form method="post">
<input type="brugernavn">
<input type="password" name="kodeord">
<input type="submit" name="submit" value="Log ind">
</form>

admin.php
<?php
session_start();
if ( $_SESSION['brugeren er logget ind'] )
{
header('Location: login.php');
exit();
}

// Brugeren er logget ind - juhuu

vis_alt_det_hemmelige();
?>

Koden er utestet men jeg håber du forstår pointen.

Mvh.
/Thomas

Kristian Thy (19-04-2004)
Kommentar
Fra : Kristian Thy


Dato : 19-04-04 10:59

Thomas Lindgaard uttered:
> Hvis du i stedet bruger $_POST['admin'], så er du sikret at variablen i
> hvert fald kommer fra en form på forrige side.

Nej. Du er sikker på at variablen kommer fra en form på *en eller
anden* side. Jeg kan jo bare på en anden server lave en html-side med
en form der sender admin=fis_i_en_hornlygte til siden.

(for ikke at snakke om at man også kan POSTe manuelt etc.)

Den primære fordel ved at slå register_globals fra er at jeg ikke som
angriber kan initialisere arbitrære variable i dit script.

\\kristian
--
"The ability to enslave a planet is insignificant
next to the power of the Macintosh"
--Darth Vader

Thomas Lindgaard (19-04-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 19-04-04 11:49

On Mon, 19 Apr 2004 09:59:13 +0000, Kristian Thy wrote:

>> Hvis du i stedet bruger $_POST['admin'], så er du sikret at variablen i
>> hvert fald kommer fra en form på forrige side.
>
> Nej. Du er sikker på at variablen kommer fra en form på *en eller
> anden* side. Jeg kan jo bare på en anden server lave en html-side med
> en form der sender admin=fis_i_en_hornlygte til siden.
>
> (for ikke at snakke om at man også kan POSTe manuelt etc.)

Ok - der var jeg måske en anelse for kry :)

.... men er i hvert fald _næsten_ sikker på at det er en variabel fra en
form.

> Den primære fordel ved at slå register_globals fra er at jeg ikke som
> angriber kan initialisere arbitrære variable i dit script.

Ja, det er nok en bedre karakteristik.

Hyggehej
/Thomas

Britt Malka (16-04-2004)
Kommentar
Fra : Britt Malka


Dato : 16-04-04 15:37

On Fri, 16 Apr 2004 16:01:10 +0200, "Rigor Mortis" <rigor@mortis.com>
wrote:

>Jeg vil gerne have lavet en loginside, som gør at jeg og kun jeg har
>admin-rettigheder når jeg klikker rundt på siden.
>
>Så vidt jeg har forstået, er det noget med sessions jeg skal have fat i.

Jeg bruger .htaccess til mine adminsider.

Du kan se en fremgangsmåde her:
http://www.tips-og-tricks.com/tippet?post=196
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Rigor Mortis (16-04-2004)
Kommentar
Fra : Rigor Mortis


Dato : 16-04-04 15:45

"Britt Malka" <news@foxladi.com> skrev i en meddelelse
news:5srv70hv6erue1vuag1i2eodu1b3ps6f5f@4ax.com...

>
> Jeg bruger .htaccess til mine adminsider.
>
> Du kan se en fremgangsmåde her:
> http://www.tips-og-tricks.com/tippet?post=196

Jo det er også meget smart.

Men i mit eksempel (som jo altså ikke er særlig godt) er den offentlige side
SAMTIDIG admin-side, idet man tilføjer en ekstra mulighed hvis nogle
kriterier bliver opfyldt.

Det synes jeg er smart, da man på den måde hele tiden ved hvordan siden ser
ud og man kun skal redigere i én side under udviklingen.
--
Rigor



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste