infostabil > edb.internet.* > edb.internet.webdesign.serverside.php

Bertel Lund Hansen (04.05.2020, 00:07)
Jeg har just lavet et php-script som tjekker brugerne af et
domæne. Det ville jo være praktisk om jeg kunne lægge det som et
modul på et af mine domæner og så bare inkludere det i de
hjemmesider som jeg gerne vil have tjekket.

Imidlertid er der som standard på mit webhotel lukket for include
udefra. Det kan jeg godt selv stille om på via et kontrolpanel,
men hvor farligt er det at åbne for det?
Kim Ludvigsen (04.05.2020, 00:28)
Den 04.05.2020 kl. 00.07 skrev Bertel Lund Hansen:

> Imidlertid er der som standard på mit webhotel lukket for include
> udefra. Det kan jeg godt selv stille om på via et kontrolpanel,
> men hvor farligt er det at åbne for det?


Jeg ved ikke, hvor usikkert det er i den virkelige verden, men det åbner
for, at fremmede kan afvikle deres kode på dit websted. Så du er ude i
noget security by obscurity.

Ud over sikkerheden, så er der også et ydelsesproblem, fordi filen skal
hentes via http i stedet for lokalt fra serveren.
Arne Vajhøj (04.05.2020, 01:10)
On 5/3/2020 6:07 PM, Bertel Lund Hansen wrote:
> Jeg har just lavet et php-script som tjekker brugerne af et
> domæne. Det ville jo være praktisk om jeg kunne lægge det som et
> modul på et af mine domæner og så bare inkludere det i de
> hjemmesider som jeg gerne vil have tjekket.
> Imidlertid er der som standard på mit webhotel lukket for include
> udefra. Det kan jeg godt selv stille om på via et kontrolpanel,
> men hvor farligt er det at åbne for det?


Du mener allow_url_include?

Udfra en 1990'er sikkerheds tankegang er det ikke noget
problem. Du inkluderer kun din egen kode som er OK.

Udfra en moderne forsvar i dybden sikkerheds tankegang er
det problematisk.

Den gamle model er baseret på at der ingen fejl er. Men
sådan er virkeligheden ikke. I den virkelige verden er der
fejl i ens egen kode, fejl i platform softwaren og der begåes
menneskelige fejl.

Derfor bør man ikke kun tænke på at forhindre the bad guys
i at komme ind - man skal også tænke på at forhindre at
the bad guys kommer videre i systemet, hvis de kommer ind.

Fra det generelle tilbage til dit spørgsmål. Lad
os antage at du enabler allow_url_include.

Hvis den web applikation som hoster det includede bliver
hacket (uanset om det er en fejl i din kode eller en fejl
i LAMP stakken eller en tanketorsk hos de ansatte hos
dit web hotel), så kan det bruges til også at hacke alle
de web applikationer som inkluderer.

Hvis en af dine web applikationer har en fejl
der muliggør via noget injection at få den til at
inkludere noget bestemt via bruger input, så kan
hackere få udført vilkårlig kode.

Jeg ville ikke enable allow_url_include.

Og jeg kan heller ikke se nogle fordel ved det med
et normalt setup.

Er web hotellet master for source code, så er det
naturligvis et problem at skulle rette mange steder,
når den fil skal rettes.

Men med hvad jeg (optimistisk?) betragter som et
normalt setup:

source control--udtræk og upload script--web hotel

så retter du kun et sted og kører dit script og så har alle
web applikationerne den nye version.

Arne
Jan Hansen (04.05.2020, 08:44)
Bertel Lund Hansen skrev:

> Jeg har just lavet et php-script som tjekker brugerne af et
> domæne. Det ville jo være praktisk om jeg kunne lægge det som et
> modul på et af mine domæner og så bare inkludere det i de
> hjemmesider som jeg gerne vil have tjekket.


Hvis alle domænerne er på samme konto hos gigahost, burde det vel
ikke være noget problem.
Prøv på fiduso.dk at lave en test.php med indholdet

<?php $a=7; ?>

og på et andet domæne at lave en test2.php med indholdet

<?php
include ('/home/www/fiduso.dk/test.php');
echo $a;
?>

når du så går ind på [..]
kommer der et 7 tal frem på din skærm.

Hvis ikke det virker, har gigahost sat de forskellige servere
meget forskelligt op.
Bertel Lund Hansen (04.05.2020, 09:55)
Jan Hansen skrev:

> Hvis alle domænerne er på samme konto hos gigahost, burde det vel
> ikke være noget problem.


Fantastisk! Jeg havde slet ikke tænkt på at adressere mapperne
direkte på serveren. Jeg har kun prøvet via internettet, og det
virker jo ikke.
Bertel Lund Hansen (04.05.2020, 09:56)
Arne Vajhøj skrev:

> Du mener allow_url_include?


Ja, men alene de svar jeg har fået nu er nok til at afholde mig
fra at ændre på det.

Heldigvis anviste Jan mig en metode jeg kan bruge - at benytte
lokale adresser på serveren.
Martin Larsen (04.05.2020, 11:56)
On 04.05.2020 09.55, Bertel Lund Hansen wrote:

> Fantastisk! Jeg havde slet ikke tænkt på at adressere mapperne
> direkte på serveren. Jeg har kun prøvet via internettet, og det
> virker jo ikke.


En anden mere fleksibel løsning som vil virke på tværs af domæner og
udbydere, er at lavet det som en lille API. Dvs. du kalder scriptet med
fx file_get_content med en passende parameter og får svaret tilbage.

Præcis dette gør jeg med et script der tjekker IP-adresser. Desuden
cacher jeg IP-adressen så fremtidige opslag bare hentes fra cachen.
Dette fordi der er en kvote på ipstack.com som jeg bruger.
Bertel Lund Hansen (04.05.2020, 13:09)
Martin Larsen skrev:

> En anden mere fleksibel løsning som vil virke på tværs af domæner og
> udbydere, er at lavet det som en lille API. Dvs. du kalder scriptet med
> fx file_get_content med en passende parameter og får svaret tilbage.


Ja, det har jeg brugt til at hente nogle data, men denne her gang
drejer det sig om to scripts.
Lignende emner