Avatar billede fedtoere Praktikant
07. august 2007 - 18:54 Der er 23 kommentarer og
1 løsning

public - privat hjemmeside

Mit problem er at min udbyder (cliche) har et public direktorie til almindelige hjemmesider. Jeg ønsker at kalde via et ASP script til en privat mappe således at det kun er script filer der har adgang.
Cliche har sikret at man ikke kan tilgå disse filer normalt, men mit script kald virker heller ikke.

det jeg gør at at jeg har en asp side hvor jeg logger ind, når login er accepteret så vil jeg gerne vise nogle billeder fra det private område, men uden held.

jeg benytter følgende kald

response.write "<img src=" & "../../privat/pic_1.jpg" & ">"

nogle der kan hjælpe ?
Avatar billede cpufan Juniormester
07. august 2007 - 18:59 #1
måske

response.write "<img src=" & server.mappath("../../privat/pic_1.jpg") & ">"
Avatar billede cpufan Juniormester
07. august 2007 - 19:00 #2
det kommer an på deres filstruktur på serveren,
hvor ligger privat i forhold til den side der kalder
Avatar billede fedtoere Praktikant
07. august 2007 - 19:30 #3
den ligger i roden, 2 foldere ("op") og så ("ned") i privat mappen.
Avatar billede fedtoere Praktikant
07. august 2007 - 21:10 #4
server.mappath ser ikke ud til at virke :-(
Avatar billede cpufan Juniormester
07. august 2007 - 22:19 #5
nej men så prøv med absolut sti..

d:/blabla.

du kan finde den vhj server.mappath og så rette den til
Avatar billede thesurfer Nybegynder
07. august 2007 - 22:32 #6
Jvf din beskrivelse "den ligger i roden, 2 foldere ("op") og så ("ned") i privat mappen"..:

Hvorfor ikke bare "/privat/pic_1.jpg" ...? :-)
Avatar billede thesurfer Nybegynder
07. august 2007 - 22:34 #7
Alternativt:

src="billed.asp?billede=pic_1.jpg"

hvor filen billede.asp læser filen via server.mappath (som i 07/08-2007 18:59:12), og udskriver dataene binært..

Det burde virke..
Avatar billede thesurfer Nybegynder
07. august 2007 - 22:39 #8
Avatar billede fedtoere Praktikant
07. august 2007 - 23:00 #9
mit problem er at jeg skal "op" i rod mappen på serveren og så lave en mappe på samme niveau som min public folder. Formålet skal være at skjule filer/billeder som ikke bliver kaldt fra et script på serveren.
Men reelt så accesser man min hjemmeside i "public" folderen hvis man blot taster url'en ind i en browser.
Avatar billede thesurfer Nybegynder
07. august 2007 - 23:14 #10
Hvad skriver den, når du gør sådan her:

response.write server.mappath("/privat/pic_1.jpg")
Avatar billede fedtoere Praktikant
08. august 2007 - 11:49 #11
Så skriver den dette tilbage:

d:\www\mit_domæne.dk_59t43dfhct\public_html\private\pic_1.jpg

Men så ser det jo ud som om at private er en sub-mappe til public_html. Det er den jo ikke.
PS jeg har omdøbt mappen til "private".
Avatar billede thesurfer Nybegynder
08. august 2007 - 11:56 #12
Hvis den skriver

d:\www\mit_domæne.dk_59t43dfhct\public_html\private\pic_1.jpg

så er private en subfolder til "public_html".. Det kan du ikke komme udenom..

Det kan godt være, at du selv (eller de) har oprettet en mappe med navnet "public", under din private-mappe..

Så er public en subfolder til private, som er en subfolder til public_html..
Avatar billede thesurfer Nybegynder
08. august 2007 - 11:59 #13
Hvis du f.eks. skriver

response.write server.mappath("/")

kan du se hvilken mappe der er din ROD mappe..

rod-mappen er den mappe, som lægger "længst" væk, dvs, så langt "op" som muligt..

Hver gang du går "..", går du 1 mappe op.. "/" går til roden, hvor det er sidste stop..


Hvis din udbyder ikke har sikkerheden i orden, kan du komme ud af webhotel-mappen ("www") og komme ud på deres server..

Hvis din udbyder ikke har sikkerheden i orden, kan du komme ud af "mit_domæne.dk_59t43dfhct", ind i "www" og ind på alle de andre kunders filer.. hvilket ikke er så godt..

Derfor:
Du burde ikke kunne komme længere ud, end til "d:\www\mit_domæne.dk_59t43dfhct", hvilket gerne skulle blive afsløret med:

response.write server.mappath("/")
Avatar billede fedtoere Praktikant
08. august 2007 - 12:49 #14
Min "root" er præcis som du siger (d:\www\mit_domæne.dk_59t43dfhct\public_html)

Hvordan kan de så holde styr på om filerne er private eller offentlige, er det noget du har styr på ?

Dvs at jeg skal hente mine filer på en url placering som ligger "virtuelt" i en undermappe til min "public_html". Giver det mening ?
Avatar billede thesurfer Nybegynder
08. august 2007 - 21:27 #15
Normalt er alle filer offentlige, og normalt har man kun 1 ting, der er private: databasen

Man har normalt en mappe, typisk kaldet "db", som ligger (i dit eksempel) her:

d:\www\mit_domæne.dk_59t43dfhct\db

I denne fil ligger du så din Microsoft Access database-fil, hvis du bruger sådan en.
Med en MySQL eller MSSQL database, er det en IP du skal angive, hvilket betyder at der ikke kommer til at ligge noget i "db" mappen..


Jeg vil anbefale at du undersøger, om du har FTP adgang til dit webhotel. Hvis du har det, skal du prøve at logge på med FTP adressen + brugernavnet + kodeord.

Derefter skal du lige orientere dig:

Hvor er du, i forhold til din rod?
Hvilke mapper kan du se?
Har du en "db" mappe?
Avatar billede thesurfer Nybegynder
08. august 2007 - 21:30 #16
Hvis du ikke vil afsløre lokationen af f.eks. billeder, lydfiler eller ligende, skal du bruge en løsning som jeg omtalte i:

07/08-2007 22:34:23

07/08-2007 22:39:31

Det eneste der bliver afsløret, er filen "billede.asp", hvilket man ikke kan bruge til noget, da man jo ikke kan se ASP koden ved at downloade filen.. som alligevel skulle returnere et billede.. :-)
Avatar billede fedtoere Praktikant
09. august 2007 - 11:07 #17
Måske har jeg misforstået noget.
Men det er vel nærmest det samme som i dag hvor jeg henter mine billeder fra asp filen. Dvs brugeren ikke kan se deres lokation.
Problemet er så hvis f.eks google web-crawler eller personer forsøger sig at scanne min hjemmeside, så kan de finde billederne i deres ubeskyttede form hvis/når de finder lokationen hvor de er lagt.
Er det ikke korrekt ?
Avatar billede thesurfer Nybegynder
09. august 2007 - 20:27 #18
Nej, det er heller ikke korrekt.. :-)

Man kan ikke se filer, med mindre at man skriver adressen til dem, enten direkte på siden som tekst, eller via links.

Dog kan det lade sig gøre at se alle filerne, hvis du slår "directory browsing" (også kaldet "gennemsyn af mapper") på mappen, til..

Så laver serveren en oversigt over alle filerne, når man går ind på adressen (f.eks. .dk/mappe/).

Med andre ord:
Hvis "directory browsing" ikke er slået til (for den pågældende mappe eller site), kan man ikke se filerne i mappen.
Avatar billede thesurfer Nybegynder
09. august 2007 - 20:29 #19
Hvis du har IIS installeret på Windows XP eller Windows 2000, eller PWS på Windows 98, kan du selv teste det..

Har du en lokal webserver (IIS eller PWS) installeret på din computer? Hvis ja, hvilket version af Windows?
Avatar billede fedtoere Praktikant
21. september 2007 - 15:47 #20
Ovenstående skulle laves i forbindelse med min ferie.
Det er dog stadigvæk aktuelt at få løst.

Mht web-crawl af min hjemmeside. Jeg mener at "directory browsing" er false, så hvis jeg ikke har link fra min hovedside www.minside.dk så findes de ikke af webcrawleren. Med andre ord ligger jeg f.eks et dokumenter på
  www.minside.dk/hemmelig/dokumenter/word.doc
Så ses det ikke af en webcrawler ?
Hvad med folk med onde hensigter kan de finde frem til dette dokument ?
Jeg formodede at man fra min "root" wille kunne søge efter alle "subdirektorier", men det er altså ikke muligt med "directory browsing" = false
Avatar billede thesurfer Nybegynder
21. september 2007 - 16:26 #21
Så længe at der ikke er links til http://www.minside.dk/hemmelig/dokumenter/word.doc , hverken på dine sider eller sider på nettet, kan en webcrawler ikke finde filen.

Hvis du lige nu har domænet minside.dk, og samme mappe struktur og fil, og samtidigt skriver et link til filen online, f.eks. på Eksperten eller anden anden side, vil Googles søgning kunne finde filen.

Ellers ikke.

Så skal man nemlig til at prøve samtlige kombinationer..
Dvs, man skal selv prøve med f.eks.:
minside.dk/a
minside.dk/b
...osv..
indtil man rammer den rigtige adresse.. hvilket kan tage tid..
Når man så beskeden "Directory Listing Denied" og "This Virtual Directory does not allow contents to be listed.", ved man at man har fundet en eksisterende mappe.

Når man har fundet en eksisterende mappe, kan man begynde at søge efter filer.. hvilket tager endnu længere tid, da et filnavn består af et navn og en type.

Man skal altså checke for
a.txt
b.txt
...osv... og:
a.doc
b.doc
...osv...

Så længe at "directory browsing" er slået fra (false), er det de eneste måde at finde mapper/filer på:

1) Hvis en side (f.eks. Eksperten, eller et andet sted) linker til mappen/filen, og siden bliver indekseret af en søgemaskine.
Søgemaskiner kan kun finde det der linkes til, eller det man beder den om at finde.
Yderligere kan man putte en "robot.txt"-fil ude i roden af domænet, der indeholder kommandoer, som fortæller søgemaskine-crawleren hvad den må indeksere.

2) Brute force, dvs. afprøvning af samtlige kombinationer.
Avatar billede fedtoere Praktikant
24. september 2007 - 11:42 #22
Takker for forklaringen "thesurfer", hvis du ligger et svar så giver jeg dig point.
Avatar billede thesurfer Nybegynder
24. september 2007 - 11:56 #23
Ok :-)
Avatar billede fedtoere Praktikant
17. oktober 2007 - 12:00 #24
Sorry den lange tid der skulle gå før "regningen" blev betalt :-)
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