Avatar billede trumf Nybegynder
31. oktober 2006 - 12:38 Der er 10 kommentarer og
1 løsning

fange host fra parent

Hejsa E

Jeg vil gerne lade nogle se mine data på deres web i en iframe, men jeg vil gerne kunne styre adgangen osv.
Dertil må jeg kunne identificere hvem det er der kalder formen, men hvordan laves dette så man ikke bare lige kan snyde systemet ?

Jeg tænkte selv på at man kunne spørge om en session var sat, og hvis ikke, så sende vedkommende til en anden side der henter hosten med javascript (parent.document.location.host) laver postback, sætter sessionen og sender vedkommende tilbage til den oprindelige side igen, men det er jo nemt at snyde js.

Kan dette ikke gøres i .NET (helst C#) ???

På forhånd tak
Avatar billede froenie Nybegynder
16. november 2006 - 15:19 #1
Jamen hvis det er at finde klientens ip-adresse, så skulle du i page_load kunne bruge request.UserHostAddress

dette er fra VB men burde ikke være forskelligt i C#.
Avatar billede trumf Nybegynder
16. november 2006 - 22:11 #2
Nej det er ikke klientens ip, men hosten. Hvis du f.eks. har et web på www.dtiweb.dk og henter min side ind i din iframe, skal jeg fra min side kunne se dit domæne og derved hente de farver og fonte og rettigheder osv, så dine brugere kun ser hvad der er relevant for dem, ud fra hvad jeg vil have de skal se.
Avatar billede trumf Nybegynder
16. november 2006 - 22:14 #3
Som jeg skriver i indlægget kan det gøres med javascript og man kan derved lægge det i en form og kalde siden igen og hente det ind den vej, men det er ikke så fedt med det genkald.
Avatar billede froenie Nybegynder
17. november 2006 - 09:55 #4
Dette bør virke, har får jeg serveren navn og ip skrevet ud i textboxe:

            Response.Write("<script>alert('" & Page.Server.MachineName & "')</script>")
            Dim IPHE As New System.Net.IPHostEntry
            IPHE = System.Net.Dns.GetHostByName(Page.Server.MachineName)
            Dim AL() As System.Net.IPAddress
            AL = IPHE.AddressList
            Response.Write("<script>alert('" & AL.GetValue(0).ToString() & "')</script>")

Det er desværre i VB...
Avatar billede trumf Nybegynder
17. november 2006 - 11:24 #5
Ja undskyld men jeg tror ikke du forstår. Det du foreslår giver hosten på min side, som jeg jo godt kender.

Det jeg vil have er hosten på den side der har importeret min side over i deres.

Se, det der skal ske er, at jeg har en side, som jeg selv hoster. På den side kan man søge i min database og vise en masse spændende resultater. Det vil jeg give folk lov til at låne mod betaling. Hvis der nu er f.eks A B og C der gerne vil låne min side, så opretter jeg dem i mit partnerprogram og de laver en Iframe på deres side som linker til min side. Hvis nu C holder op med at betale eller B køber super pakken, så skal jeg kunne styre det fra mit partnerprogram.

Jeg tænker at den bedste måde jeg kan sikre mig at dem der låner min side er dem som de giver sig ud for at være er, ved at jeg selv undersøger hvem de er, og dette vil jeg gøre ved at finde den host der låner min side. Det er det der svarer "parent" i javascript. Mon ikke der findes noget tilsvarende i .NET der er javascript så overlegen ?
Avatar billede froenie Nybegynder
17. november 2006 - 12:17 #6
Jeg ved at Page har en parent, så der istedet for at stå page.server.machinename kan stå page.parent.page.server.machinename. Men jeg har ikke testet det...
Avatar billede trumf Nybegynder
17. november 2006 - 12:37 #7
Jeg er på vej til jylland til svigermekanismen, men jeg har den bærbare med, så jeg ser om jeg kan få det testet i aften eller i løbet af weekenden. Det lyder meget lovende :-)
Avatar billede trumf Nybegynder
22. november 2006 - 15:57 #8
Parent virker tilsyneladende ikke, da den bruges til controller og ikke sider, efter hvad jeg kan få ud af det. Desuden er jeg ikke så interesseret i machinename, hellere en host (en IP eller domænenavn)

Det ser ikke ud til at kunne virke sådan. Kan du komme i tanke om andre måder hvormed jeg kan identificere hvem der referer iframen fra child-siden uden at de sender parametre (for det kan alle jo snyde med) men at jeg med kode henter oplysninger fra parent/den der kalder siden.
HTTP_REFERER kunne måske bruges. Er det en sikker en, eller kan man snyde med den?
Avatar billede trumf Nybegynder
24. november 2006 - 09:13 #9
Jeg går videre med HTTP_REFERER. Man kan vist godt snyde med den, men så vigtigt er det heller ikke med alt det sikkerhed i denne sammenhæng.
froenie> hvis du lægger et svar så deler vi  i porten. Jeg takker for en god indsats fra din side :)
Avatar billede froenie Nybegynder
24. november 2006 - 13:56 #10
Ok jeg ligger et svar men du behøver ikke at give mig point, fandt jo ingen god løsning. Håber du får det til at spille :)
Avatar billede trumf Nybegynder
24. november 2006 - 14:59 #11
Du forsøgte og det er det som eksperten går ud på. Hjælp er ikke det samme som at få det til at virke, og nogen gange er det også nok bare at forklare sit problem, for at se en løsning.
Mange tak og god weekend :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester