webForumDet fria alternativet

Url i urlen?

16 svar · 936 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001788 inlägg
#1

Hej

Jag har byggt min sajt så att jag kan ge en URL som parameter till min sida t.ex. www.kalle.se/?url=kanin.php på detta sätt får jag in sidan i mitt frameset direktmen hur gör jag om jag vill ge parametrar i 'url'-parametern t.ex. www.kalle.se/?url=kanin.php?red=sno&id=2.
Här fungerar red-parametern bra, men när jag vill lägga till id-parametern så tror Apachen/PHP att den till hör www.kalle.se istället för till kanin.php som jag vill.

Hur gör man för att det ska funka? :q

Hoppas att någon kan hjälp mig :)

/Grodan

SPiNMedlem sedan mars 20007 896 inlägg
#2

Konvertera till nåt skumt tecken, som du sedan konverterar tillbaka innan du skriver ut länken till klienten. :)

------------------
SPiN, bjorne.w@telia.com

GrodanBollMedlem sedan sep. 2001788 inlägg
#3

Hej

Tack för svaret men jag förstår inte vad du menar.
Kan du förklara det närmare?

Menar du att konvertera '&' till någe annat och sen konvertera tillbaks det när? :q

/Grodan

SPiNMedlem sedan mars 20007 896 inlägg
#4

Ja, precis. :)

T.ex:

<?php
$urlen = "kanin.php?red=no&id=2";
$urlen = str_replace ( '&', "&#0124;amp&#0124;", $urlen );

header ( "Location: <A HREF="http://www.kalle.se/?url="" TARGET=_blank>http://www.kalle.se/?url="</A>  . $urlen );
?>
---
<?php
$urlen = str_replace ( "&#0124;amp&#0124;", '&', $_GET[ 'url' ] );
echo "<a href=\"" . $urlen . "\">Yeah!</a>";
?>

Hänga med? :)

------------------
SPiN, bjorne.w@telia.com

[Redigerat av SPiN den 14 feb 2002]

KimMedlem sedan jan. 20007 697 inlägg
#5

Förslagsvis så används urlencode() och urldecode(). :)

SPiNMedlem sedan mars 20007 896 inlägg
#6

Word, Kim! Dom hade jag glömt bort... :r

GrodanBollMedlem sedan sep. 2001788 inlägg
#7

Äh, gjorde ett script som kollade om inte sidan låg i framsen istället. Löste det så.

Men ska allt testa era förslag.
Bugar o tackar :)

/Grodan

Johannes\PMedlem sedan jan. 200230 inlägg
#8

Akta dig för säkerhetshål när du inkluderar en sida sådär.
www.kalle.se/?url=../../../etc/passwd

inte så lyckat, va? :)

------------------
Johannes Schill
http://www.polyester.se
Form · Interaktivitet · Uppmärksamhet

GrodanBollMedlem sedan sep. 2001788 inlägg
#9

Yo Johannes

Nope, jag lägger inte password i urlen m.h.a GET därimot använder jag POST metoden.

Men jag läste någonstans att det inte heller var säkert. Vet du någonting om det? :q

/Grodan

Johannes\PMedlem sedan jan. 200230 inlägg
#10

Saker du bör göra:

1, Se till att filerna du inkluderar
alltid slutar på .php (eller vad du nu använder dig av).

2, Se till att filen som inkluderas ligger på din server och inte remote.

Finns säkert fler saker, men det var dessa jag kom att tänka på sådär på momangen.

------------------
Johannes Schill
http://www.polyester.se
Form · Interaktivitet · Uppmärksamhet

GrodanBollMedlem sedan sep. 2001788 inlägg
#11

Ettan visst jag om. :)
Men hur kollar man tvåan? :q

Hade du inte hört någe om sökerheten när man skickar värden m.h.a. POST?

Finns det kanske någon bra artikel om säkerhet när man scriptar m.h.a. PHP?

/Grodan

Johannes\PMedlem sedan jan. 200230 inlägg
#12

Säkerhet med post.. man kan ju alltid sniffa trafik. Det är ju ett generellt problem och inte bara för php. Lösningen till det är ju att köra SSL vilket kräver certifikat (och säker server).

Jag är inte riktigt säker på vad du menar med att det skulle vara osäkert att skicka data via post? Du kommer väl inte direkt skicka kreditkortsnummer hoppas jag?

Finns lite generellt om säkerhet i en artikel på Zend.com: http://www.zend.com/zend/art/art-oertli.php

------------------
Johannes Schill
http://www.polyester.se
Form · Interaktivitet · Uppmärksamhet

GrodanBollMedlem sedan sep. 2001788 inlägg
#13

Jag vet inte heller vad jag menar. Läste en foumpost hos phpBuilder, där någon skrev att det var någon bugg eller bara ett säkerhetshål att skicka grejor via POST.

Det var sent på natten så jag tänkte inte så mycket då, men jag kom på det nu när du pratade om säkerhet.

Undrade mest om någon hade hört något om detta? :q

Det jag ska skicka via POST som e känsligt är password, inge farligare än så.
Men om man kan göra det säkrare så vill man ju gärna :)

Ska läsa artiklen oxå.

/Grodan :)

Johannes\PMedlem sedan jan. 200230 inlägg
#14

Ahh! Du kan ju ha läst att all data som skickas från formulär via POST (gäller GET också) blir variabler i scriptet som du säkert känner till. Tex att om du skickar <input type="hidden" name="db" value="min_databas"> så blir ju $db "min_databas" i scriptet sen. Jag har också läst det någonstans att det kan anses vara en säkerhetsbugg.

Man bör tillägga att det beror helt på hur du skriver scriptet också, men somliga kanske inte tänker på att detta faktiskt kan utnyttjas i sk. exploits.

Sedan PHP v4.1.0 lades dock några till omgivningsvariabler till; $_POST, $_GET etc. Då kan du vara säker på att folk inte skickar in värden som tar över de värdena som du satt själv i scripten.

Mer info om v4.1.0 finns på: http://www.php.net/release_4_1_0.php

(åter igen: se till att din server har senaste PHP. det är inte bakåtkompatibelt).

Slutligen: Jag förstår knappt själv vad jag har skrivit i inlägget nu, så jag blir inte upprörd om du svarar med "Vad menar du?" ;)

Hoppas jag hjälpte till med något i alla fall.

------------------
Johannes Schill
http://www.polyester.se
Form · Interaktivitet · Uppmärksamhet

SPiNMedlem sedan mars 20007 896 inlägg
#15

Jag skrev ihop en artikel om säkerhet för evigheter sedan känns det som. Vet inte om den är aktuell för dig, men den kan vara värd att slänga ett öga på: http://www.phpportalen.net/artikel.php?id=16

------------------
SPiN, bjorne.w@telia.com

GrodanBollMedlem sedan sep. 2001788 inlägg
#16

Johannes:
Visste det med variablerna jö :)
Men det här den den nya $_POST och $_GET, blir fältnamnen inte variabler nu då, eller e man tvungen att komma åt dem på ett annat sätt eller?
Vad menar du? ;)

SPiN:
Thx, ska allt kolla den :)

/Grodan :)

R EkmanMedlem sedan dec. 199921 inlägg
#17

Om du tar exemplet med www.kalle.se/?url=kanin.php så kommer du nu åt variabeln url med $_GET["url"].

------------------

robert.ekman@home.se

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)