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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Billeder og databasesikkerhed
Fra : Mads


Dato : 18-04-05 10:40

Jeg ved at spørgsmålet omkring sikkerhed og billeder i en *.mdb har
været oppe mange gange, men selvom jeg har læst alle tråde fundet på
google, så er jeg allivel i tvivl.

Min hjmmeside skal om en måneds tid eller to lægges på nettet. Jeg har
mange billeder i databasen og der er helst ikke andre, der skal have
fingrene i hverken databasen eller billederne.

Databasen er så godt som færdig, men jeg mangler links til de
billeder, der hører til de forskellige emner. Inden jeg laver links
til billederne (har prøvet og har lavet om mange gange) så vil jeg
høre ad herinde. Hvodan gør man det bedst?

1. Om online-sikkerhed så _tror_ jeg, at databasen skulle være sikret
mod kopiering, _hvis_ den placeres i en mappe kaldet fpdb. Er det
rigtig?
2. Jeg har også læst, at mappen med databasen kan placeres helt
udenfor biblioteket med websiden, men her afhænger placeringen af
udbyderen.

Om billeder så er det bedst, hvis man har et link til billedet i
databasen, ellers bliver databasen for stor, fordi databasen laver
billederne om til et andet format, som fylder mere...

Min database er ikke på nettet endnu, men da jeg har mange link til
billeder er det smartest, at jeg gør det rigtigt _denne_ gang.

På min PC har jeg min database *.mdb liggende i en mappe "database",
hvor jeg også har en mappe med billederne "billeder".

Først forstod jeg det sådan, at jeg skulle lave et felt med en
hyperlink til billedet.
Nu har jeg så læst, at der skal laves et tekst-felt med hyperlinket.
Da jeg lavede mit billede-link om fra et hyperlink-felt til et
tekst-felt, rettede databasen i hyperlinket, så der blev ændret en
smule i hyperlinket. Men det kan jeg rette tilbage, hvis det er
forkert.
Lige nu står der feks. #billeder\green.jpg# som hyperlink til et
billede med navnet green.jpg.

Hvad er det rigtige at gøre?

Kan databasen så også finde billederne, hvis den skal placeres helt
uden for biblioteket med websiden som beskrevet under 2?
Eller vil løsning 2 betyde, at jeg skal ændre i hvert eneste hyperlink
til billeder?
Er mappen med billeder også beskyttet mod kopiering, når/hvis mappen
med billeder bliver lagt i fpdb-mappen?

Hvordan får man vist sit billede (og ikke bare et hyperlink til
billedet), når man skal vise resultaterne fra sin database? Jeg vil
bruge access til databasen og frontpage til generering af siderne.

/Mads, der er noget forvirret

 
 
Jens Gyldenkærne Cla~ (18-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-04-05 11:42

Mads skrev:

> Min hjmmeside skal om en måneds tid eller to lægges på nettet. Jeg har
> mange billeder i databasen og der er helst ikke andre, der skal have
> fingrene i hverken databasen eller billederne.

Databasen kan og bør du sikre fornuftigt - til gengæld er det ikke
muligt at sikre dine billeder effektivt.

> 1. Om online-sikkerhed så _tror_ jeg, at databasen skulle være sikret
> mod kopiering, _hvis_ den placeres i en mappe kaldet fpdb. Er det
> rigtig?

Nej. Hvis mappen fpdb ligger i webscope (dvs. den har en http-adresse
som fx http://dinserver/fpdb/), kan en database lagt i denne mappe også
hentes. Det kræver så at nogen gætter adressen - eller evt. at nogen
opsnapper den (fx ved at se hvad du skriver her i gruppen).


> 2. Jeg har også læst, at mappen med databasen kan placeres helt
> udenfor biblioteket med websiden, men her afhænger placeringen af
> udbyderen.

Ja. Hvis mappen er placeret uden for webscope, kan man ikke hente
databasen via en browser - og det er en god ting. Men det er ikke
sikkert at man selv kan oprette sådan en mappe. Hvis man har ftp-adgang
til et niveau over webroden (fx således at man skal gå til mappen "www"
for at komme ind der hvor filerne i webroden ligger), kan man selv
oprette en databasemappen uden for webscope. Andre steder kan man
benytte en mappe som udbyderen har lavet til formålet.

Du kan også vælge at beskytte din database ved at "forklæde" den som en
beskyttet fil. Hvis du fx gemmer den som db/global.asa, vil man ikke
kunne hente den med en browser (da global.asa beskyttes af webserveren),
men man kan fint arbejde med den som database på serveren.

Det har tidligere været nævnt at man bare kan give databasen efternavnet
..asp - men det er ikke nok (i hvert fald ikke på den server jeg har
testet med). Her kan man nemlig stadig gemme filen - og så omdøbe til
mdb når den er hentet.

Hvis der er asp.net på serveren, kan man benytte sig af nogle af de
beskyttede filendelser i asp.net (også selv om man slet ikke anvender
asp.net i øvrigt). Man kan fx bruge database.asax - fordi alle
..asax-filer er beskyttet (i modsætning til under traditionel asp, hvor
kun global.asa er beskyttet).


> Om billeder så er det bedst, hvis man har et link til billedet i
> databasen, ellers bliver databasen for stor, fordi databasen laver
> billederne om til et andet format, som fylder mere...

Access er normalt ikke så praktisk til at håndtere binært indhold (som
fx billeder direkte i basen).

Hvis man vil beskytte sine billeder, kan man bruge FSO til at læse
billederne fra et "sikkert" sted (uden for webscope - på samme måde som
med databasefilerne). Teknikken er så at man sender billederne direkte
til browseren med binarywrite (husk at sætte en passende content-type).
På denne måde kan man tjekke om folk er logget ind før man sender
billeddata til dem. Men det forhindrer dog ikke at brugerne kan gemme
billedet lokalt og sende det videre.


> Først forstod jeg det sådan, at jeg skulle lave et felt med en
> hyperlink til billedet.
> Nu har jeg så læst, at der skal laves et tekst-felt med hyperlinket.

Normalt laver man bare et tekstfelt hvor navnet på billedet står. Hvis
alle billederne ligger i samme mappe, er der ingen grund til at gemme
mappenavnet i databasen - det er spild af plads. Men hvis billederne kan
ligge forskellige steder, er det nødvendigt at gemme mappeoplysningerne
også.

> Da jeg lavede mit billede-link om fra et hyperlink-felt til et
> tekst-felt, rettede databasen i hyperlinket, så der blev ændret en
> smule i hyperlinket.

Access' hyperlink-felter er en pestillens - jeg har aldrig set nogen
praktisk anvendelse af dem. Du kan formentlig rette noget med søg og
erstat - men generelt vil jeg anbefale dig at glemme at den felttype
eksisterer.


> Kan databasen så også finde billederne, hvis den skal placeres helt
> uden for biblioteket med websiden som beskrevet under 2?

Databasen skal ikke finde billederne - det skal din asp-side. Som nævnt
før, er det ikke nødvendigt at gemme mere end filnavnet, hvis alle
billederne ligger i samme mappe. I din asp-side skriver du så bare en
fast værdi til mappen og tilføjer resten fra databasen.


> Er mappen med billeder også beskyttet mod kopiering, når/hvis mappen
> med billeder bliver lagt i fpdb-mappen?

Nej - jf. ovenstående.

> Hvordan får man vist sit billede (og ikke bare et hyperlink til
> billedet), når man skal vise resultaterne fra sin database?

Ved at udskrive html-koden for et billede (<img src="..." ...>) - med en
korrekt sti til billedet i forhold til den side der indeholder
billedkoden.


> Jeg vil bruge access til databasen og frontpage til generering af siderne.

Jeg aner ikke hvordan det gøres i frontpage. Der er en særskilt gruppe
til frontpage - hvis du efterlyser konkret hjælp til det program, er du
bedre hjulpet i den gruppe (<news:dk.edb.internet.webdesign.frontpage>)


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Mads (18-04-2005)
Kommentar
Fra : Mads


Dato : 18-04-05 17:28

Hej Jens
Tak for dit svar.

> til gengæld er det ikke
> muligt at sikre dine billeder effektivt.
Nej, det er det nok ikke. Jeg har læst noget om, at man kan indsætte
et script, så der ikke kan højreklikkes, men det skulle vidst ikke
være tilstrækkeligt effektivt. Der er jo andre måder at downloade et
billede på end at højreklikke og vælge "gem som."

> Nej. Hvis mappen fpdb ligger i webscope (dvs. den har en http-adresse
> som fx http://dinserver/fpdb/), kan en database lagt i denne mappe også
> hentes. Det kræver så at nogen gætter adressen - eller evt. at nogen
> opsnapper den (fx ved at se hvad du skriver her i gruppen).
Jeg er lidt i tvivl om jeg opfatter det rigtigt, jeg ved ikke hvad
webscope er.
Men på min gamle PC med win98 havde jeg mulighed for at lave min egen
webserver PWS, hvor jeg kunne dele visse ting med "nettet."
Andre ting på computeren var "udelt", det kunne ikke ses af andre på
nettet.
Kan dette "webscope" sammenlignes med det delte materiale på PWS.
Altså det, der er tilgængeligt via en http-adresse, det er delt på den
eksterne server (webhotellet) og kan sammenlignes med det, som man
deler via PWS.
Og det der ikke er delt, det er ikke tilgængeligt wia "PWS", det er
det man kalder "uden for webscope" ?

> Hvis mappen er placeret uden for webscope, kan man ikke hente
> databasen via en browser - og det er en god ting. Men det er ikke
> sikkert at man selv kan oprette sådan en mappe. Hvis man har ftp-adgang
> til et niveau over webroden (fx således at man skal gå til mappen "www"
> for at komme ind der hvor filerne i webroden ligger), kan man selv
> oprette en databasemappen uden for webscope. Andre steder kan man
> benytte en mappe som udbyderen har lavet til formålet.
Kan andre, med den samme adgang så ikke hente databasen?

> Du kan også vælge at beskytte din database ved at "forklæde" den som en
> beskyttet fil. Hvis du fx gemmer den som db/global.asa, vil man ikke
> kunne hente den med en browser (da global.asa beskyttes af webserveren),
> men man kan fint arbejde med den som database på serveren.
Tak for tippet, det vil jeg lige læse noget mere om.

> Det har tidligere været nævnt at man bare kan give databasen efternavnet
> .asp - men det er ikke nok (i hvert fald ikke på den server jeg har
> testet med). Her kan man nemlig stadig gemme filen - og så omdøbe til
> mdb når den er hentet.
Det har jeg også læst. Men siden du og andre siger, at det ikke
beskytter, så vil jeg hellere benytte den færnævnte mulighed.

> Hvis der er asp.net på serveren, kan man benytte sig af nogle af de
> beskyttede filendelser i asp.net (også selv om man slet ikke anvender
> asp.net i øvrigt). Man kan fx bruge database.asax - fordi alle
> .asax-filer er beskyttet (i modsætning til under traditionel asp, hvor
> kun global.asa er beskyttet).
Jamen global.asa ikke er beskyttet mere, end at man kan omdøbe den til
mdb. Er det så ikke det samme med database.asax?

> Hvis man vil beskytte sine billeder, kan man bruge FSO til at læse
> billederne fra et "sikkert" sted (uden for webscope - på samme måde som
> med databasefilerne). Teknikken er så at man sender billederne direkte
> til browseren med binarywrite (husk at sætte en passende content-type).
> På denne måde kan man tjekke om folk er logget ind før man sender
> billeddata til dem. Men det forhindrer dog ikke at brugerne kan gemme
> billedet lokalt og sende det videre.
Hmm, nej du har nok (desværre) ret i, at bileder er "umulige" at
beskytte.

> Normalt laver man bare et tekstfelt hvor navnet på billedet står. Hvis
> alle billederne ligger i samme mappe, er der ingen grund til at gemme
> mappenavnet i databasen - det er spild af plads. Men hvis billederne kan
> ligge forskellige steder, er det nødvendigt at gemme mappeoplysningerne
> også.
_Kæmpe_ hjælp, tusind tak skal du have. Jeg rodede meget rundt i,
hvordan jeg skulle lave linket og hvor mange oplysninger der skulle
til. Hvis navnet på billedet er nok (og billederne ellers ligger i den
samme mappe) så er det simpelthen det bedste og vigtigste.

> Access' hyperlink-felter er en pestillens - jeg har aldrig set nogen
> praktisk anvendelse af dem. Du kan formentlig rette noget med søg og
> erstat - men generelt vil jeg anbefale dig at glemme at den felttype
> eksisterer.
Jeg har netop glemt det Igen så tak for oplysningen, jeg vidste
ikke, at det var helt så enkelt.

> Databasen skal ikke finde billederne - det skal din asp-side. Som nævnt
> før, er det ikke nødvendigt at gemme mere end filnavnet, hvis alle
> billederne ligger i samme mappe.
Igen, det er kernen i mit spørgsmål, mange tak.

> I din asp-side skriver du så bare en
> fast værdi til mappen og tilføjer resten fra databasen.
Den faste værdi vil jeg bekymre mig om når "den tid kommer." Jeg
kender ikke så meget til asp kodning af sider, men bare databasen er i
orden, så det ikke bliver en uoverkommelig opgave at rette siden hen,
så skal jeg nok finde ud af det. Mange mange tak.

> Jeg aner ikke hvordan det gøres i frontpage. Der er en særskilt gruppe
> til frontpage - hvis du efterlyser konkret hjælp til det program, er du
> bedre hjulpet i den gruppe (<news:dk.edb.internet.webdesign.frontpage>)
Det var ikke min tanke, at gruppen skulle være behjælpelig her. Men
til tider kan det være lettere at svare på spørgsmål, hvis man kender
lidt til detaljerne.

Mange tak for svarene Jens, du har hjulpet mig mere end du nok måske
tror.
/Mads, der tror han er ved at se lyset!!!

Jens Gyldenkærne Cla~ (18-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-04-05 21:11

Mads skrev:

> Nej, det er det nok ikke. Jeg har læst noget om, at man kan
> indsætte et script, så der ikke kan højreklikkes, men det
> skulle vidst ikke være tilstrækkeligt effektivt.

Det er netop ikke effektivt.
Se evt. siden her: <http://html-faq.dk/1014.asp>

Desuden er der flere browsere der forhindrer (eller kan forhindre)
at man piller ved højrekliksmenuen.

> Kan dette "webscope" sammenlignes med det delte materiale på
> PWS. Altså det, der er tilgængeligt via en http-adresse, det
> er delt på den eksterne server (webhotellet) og kan
> sammenlignes med det, som man deler via PWS.

Ja, det er faktisk meget præcist hvad webscope går ud på.


>> Hvis mappen er placeret uden for webscope, kan man ikke hente
>> databasen via en browser

> Kan andre, med den samme adgang så ikke hente databasen?

Nej - for andre har (forhåbentlig) ikke adgang til det samme
katalog.

Et webhotel med mange brugere kan fx have en katalogstruktur som
her:

D:\webroot\
   -bruger1\
       -db\
       -www\
   -bruger2\
       -db\
       -www\
   ...

Når en bruger logger ind med ftp, kan han/hun kun se
katalogstrukturen fra hans eget brugerkatalog og nedefter. Brugeren
"bruger1" kan altså fx se mappen bruger1 (som sikkert bare optræder
som "/") med undermapperne db og www - men ikke nogen af de andre
brugermapper.

[om at gemme databasen med navnet global.asa]

> Tak for tippet, det vil jeg lige læse noget mere om.

Du er velkommen til at søge efter det - men jeg har nu ikke selv
set det omtalt nogen steder. Hvis du finder nogle artikler om det,
må du gerne linke til dem her.


> Jamen global.asa ikke er beskyttet mere, end at man kan omdøbe
> den til mdb. Er det så ikke det samme med database.asax?

Nej. IIS (webserverprogrammet) beskytter filer med navnet
global.asa mod download - men den beskytter ikke andre filer med
efternavnet .asa. Det er anderledes med asp.net-filerne (muligvis
fordi det er asp.net-parseren der håndterer det). Her er det
filtyperne på konfigurationsfilerne (hhv. *.asax for global.asax og
*.config for web.config) der er beskyttet.

Prøv fx at se hvad webserveren svarer hvis du forsøger at hente
denne database: <http://gyros.dk/usenet/asp/login/database.asax>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Mads (19-04-2005)
Kommentar
Fra : Mads


Dato : 19-04-05 17:04

Hej Jens

(om at sikre billeder mod download)
> Se evt. siden her: <http://html-faq.dk/1014.asp>
Øv, den side kendte jeg ikke. Mange tak for linket, der er virkelig
meget godt information på det websted, det er bestemt ikke sidste gang
jeg aflægger et besøg der...

Mht. billeder, så er der åbenbart ikke rigtig nogen 100% effektiv måde
at sikre dem på. Så jeg tror at løsningen for mig bliver, at
billederne bliver lagt ud i en meget lav opløsning, så de ikke kan
bruges, hvis man forsøger at forstørre dem. Man skal selvfølgelig
stadig kunne se billedet "ordentligt", men at kvaliteten bliver ringe
ved forstørring, det kan _måske_ afholde de fleste fra at gide at
kopiere. Og så vil jeg ellers referere til copyright og håndhæve
dette, hvis jeg ser mine billeder kopieret.

> Ja, det er faktisk meget præcist hvad webscope går ud på.
Tak for din bekræftelse på at min "forståelse" af webscope er korrekt.
Man skal jo ikke tro, men vide!

> Når en bruger logger ind med ftp, kan han/hun kun se
> katalogstrukturen fra hans eget brugerkatalog og nedefter. Brugeren
> "bruger1" kan altså fx se mappen bruger1 (som sikkert bare optræder
> som "/") med undermapperne db og www - men ikke nogen af de andre
> brugermapper.
Tak for den information, alt bliver meget lettere at forstå, når man
kender baggrunden.

> [om at gemme databasen med navnet global.asa]
> Du er velkommen til at søge efter det - men jeg har nu ikke selv
> set det omtalt nogen steder. Hvis du finder nogle artikler om det,
> må du gerne linke til dem her.
Jeg har fundet en del, men du har (som sædvanlig ret i, at der
ikke er meget brugbart omkring dette emne at finde. Så jeg har
desværre ikke nogen links til sider, som beskriver "noget ordentligt"
om emnet.

> Nej. IIS (webserverprogrammet) beskytter filer med navnet
> global.asa mod download - men den beskytter ikke andre filer med
> efternavnet .asa. Det er anderledes med asp.net-filerne (muligvis
> fordi det er asp.net-parseren der håndterer det). Her er det
> filtyperne på konfigurationsfilerne (hhv. *.asax for global.asax og
> *.config for web.config) der er beskyttet.
Så vil jeg benytte mig af muligheden for at omdøbe til *.asax. Også
fordi at jeg har flere databaser (om forskellige emner), og der er så
vidt jeg har læst mig til en max størrelse på en database på 2 GB. For
ikke at støde panden mod en max størrelse på databasen, har jeg valgt
at opdele den. Og når global.asa er det eneste databasenavn der er
beskyttet, så er *.asax at fortrække.

> Prøv fx at se hvad webserveren svarer hvis du forsøger at hente
> denne database: <http://gyros.dk/usenet/asp/login/database.asax>
Ja, det fik jeg jo kun en fejl på, så det virker. (Jeg kender ikke til
at hacke, så jeg fulgte kun linket)

Jens, tusin tak for dine svar. Jeg ved nu, hvordan jeg kommer vider
med mine billed-links i databasen, og jeg ved også meget mere om
databasesikkerhed (og manglende billedsikkerhed)
Mange tak
/Mads

Jens Gyldenkærne Cla~ (19-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 19-04-05 21:32

Mads skrev:

> Så vil jeg benytte mig af muligheden for at omdøbe til *.asax.

Husk bare at den kun virker hvis din webserver har installeret
..net. Det er nemt at tjekke - læg en fil op med efternavnet .asax
og tjek om du kan hente den via browseren.

> Også fordi at jeg har flere databaser (om forskellige emner),
> og der er så vidt jeg har læst mig til en max størrelse på en
> database på 2 GB.

Et par kommentarer:
- Grænsen på 2 GB gælder Access-databaser (og muligvis andre
filbaserede databaser).

- 2 GB er en temmelig stor datamængde. Hvis du virkelig har brug
for så meget, skal du nok dels tjekke hvor meget plads du har til
rådighed på dit webhotel, og dels overveje at benytte en anden
(større) database end Access.

- Sørg for at din datastruktur er fornuftig. I relationel
databasesammenhæng tilstræber man at normalisere data - det vil
groft sagt sige at man sørger for kun at registrere en
grundoplysning ét sted. Hvis du ikke kender til normalformer og
normalisering, vil en bog om databaser være en ganske god
investering.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Mads (20-04-2005)
Kommentar
Fra : Mads


Dato : 20-04-05 14:46

> Husk bare at den kun virker hvis din webserver har installeret
> .net. Det er nemt at tjekke - læg en fil op med efternavnet .asax
> og tjek om du kan hente den via browseren.
Tak for oplysningen, det vil jeg gøre når det bliver aktuelt. Jeg har
endnu ikke valgt hverken udbyder eller fundet et godt nok navn til
"siden", så jeg spørger ganske enkelt udbyderen, når den tid kommer.

> - 2 GB er en temmelig stor datamængde. Hvis du virkelig har brug
> for så meget, skal du nok dels tjekke hvor meget plads du har til
> rådighed på dit webhotel, og dels overveje at benytte en anden
> (større) database end Access.
Ups, jeg tror at grunden til at jeg troede, at jeg nemt kunne ramme
"loftet" var, at jeg dengang lagde billederne ind som et ole-object.
Nu har jeg lige checket databasernes størrelse igen, og den samlede
mængde data fylder nu kun omkring 2 MB.

> - Sørg for at din datastruktur er fornuftig. I relationel
> databasesammenhæng tilstræber man at normalisere data - det vil
> groft sagt sige at man sørger for kun at registrere en
> grundoplysning ét sted. Hvis du ikke kender til normalformer og
> normalisering, vil en bog om databaser være en ganske god
> investering.
Tak for rådet, men jeg _tror_ at jeg (efter mange forsøg) har fået
check på strukturen. Jeg kender ikke lige begrebet "normalisering",
men jeg bruger en-til-mange-relationer og mange-til-mange-relationer
alle de steder, hvor jeg kan. Hvis der feks. er tale om navnet på en
måned, så bliver disse data hentet via et opslag i en anden tabel med
måneder.

Jens, mange mange tak for din hjælp.
/Mads

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

Månedens bedste
Årets bedste
Sidste års bedste