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

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Database med mange brugere
Fra : Hans


Dato : 18-09-05 12:21

Jeg skal lave en database (MySQL) som mange kendte brugere kan indtaste
poster i, de enkelte brugere må kun kunne få adgang til at rette/slette de
poster de selv har oprettet.

Og så skal enhver anden ukendt kunne søge i databasen og når der søges skal
der søges i alle poster.



/H





 
 
NoMoreSpam (18-09-2005)
Kommentar
Fra : NoMoreSpam


Dato : 18-09-05 12:53

> Jeg skal lave en database (MySQL) som mange kendte brugere kan indtaste
> poster i, de enkelte brugere må kun kunne få adgang til at rette/slette de
> poster de selv har oprettet.
>
> Og så skal enhver anden ukendt kunne søge i databasen og når der søges
skal
> der søges i alle poster.

Du må jo have en tabel med brugere og derfor må du osse vide hvilken bruger
det er der er logget ind. I den tabel med de mange data skal der så være et
felt
der peger på brugertabellen og så skal de to ID være ens for at man får lov
til at rette/slette.

tblBruger
BrugerID
LogonNavn
......

tblData
DataID
......
BrugerID

If tblBrugerID = tblData.BrugerID then
' Du må rette slette
else
' Du må IKKE rette slette
end if

Hvis du vil have mere detaljeret hjælp må du være mere konkret:
Hvad bruger du som front end ? Hvad hedder de involverede tabeller/feltnavne
??

--
Med venlig hilsen
Tom Jensen

Læs mere om databaser og asp her:
http://www.FFSoft.dk



Hans (18-09-2005)
Kommentar
Fra : Hans


Dato : 18-09-05 15:01

"NoMoreSpam" <nowhere@nowhere.com> skrev i en meddelelse
news:gwcXe.68126$Fe7.229285@news000.worldonline.dk...
>> Jeg skal lave en database (MySQL) som mange kendte brugere kan indtaste
>> poster i, de enkelte brugere må kun kunne få adgang til at rette/slette
>> de
>> poster de selv har oprettet.
>>
>> Og så skal enhver anden ukendt kunne søge i databasen og når der søges
> skal
>> der søges i alle poster.
>
> Du må jo have en tabel med brugere og derfor må du osse vide hvilken
> bruger
> det er der er logget ind. I den tabel med de mange data skal der så være
> et
> felt
> der peger på brugertabellen og så skal de to ID være ens for at man får
> lov
> til at rette/slette.
<cut>
> Hvis du vil have mere detaljeret hjælp må du være mere konkret:
> Hvad bruger du som front end ? Hvad hedder de involverede
> tabeller/feltnavne
> ??

Her er så en lidt mere uddybende forklaring.

Jeg laver et program til windows, i dette program kan en bruger indtaste
oplysninger, når brugeren gemmer logger programmet på en MySQL base via
internet og opdatere data basen. Dette program bliver delt ud til en del
forskellige brugere, i programmet ved de enkelte brugere er der så nogle
oplysninger der gør at jeg meget let i selve programmet kan styre at
brugeren kun kan rette på sine egne poster.
Men den lidt smartere brugere kunne jo nok finde frem til brugernavn og
password til MySQL basen og så hente et andet front end program og derved få
adgang til alle poster.
Jeg kan jo godt kryptere brugernavn og password i programmet ved hver enkelt
bruger men vha. en packet sniffer kan man sikkert let finde det frem når man
nu har fuld adgang til computeren.

Søgning på alle poster skal så ske via en hjemmeside hvor jeg benytter php,
på denne side skal man kun kunne se oplysningerne og altså ikke kunne rette
noget.

At skulle lave en data base for hver enkelt bruger som han så kun har adgang
til vil jo betyde at når der skal søges så skal der søges i mange databaser
på samme tid.

/HK



Jørgen Kristensen (19-09-2005)
Kommentar
Fra : Jørgen Kristensen


Dato : 19-09-05 11:35

Hans wrote:

> Her er så en lidt mere uddybende forklaring.
>
> Jeg laver et program til windows, i dette program kan en bruger indtaste
> oplysninger, når brugeren gemmer logger programmet på en MySQL base via
> internet og opdatere data basen. Dette program bliver delt ud til en del
> forskellige brugere, i programmet ved de enkelte brugere er der så nogle
> oplysninger der gør at jeg meget let i selve programmet kan styre at
> brugeren kun kan rette på sine egne poster.
> Men den lidt smartere brugere kunne jo nok finde frem til brugernavn og
> password til MySQL basen og så hente et andet front end program og derved
> få adgang til alle poster.
> Jeg kan jo godt kryptere brugernavn og password i programmet ved hver
> enkelt bruger men vha. en packet sniffer kan man sikkert let finde det
> frem når man nu har fuld adgang til computeren.
>
> Søgning på alle poster skal så ske via en hjemmeside hvor jeg benytter
> php, på denne side skal man kun kunne se oplysningerne og altså ikke kunne
> rette noget.
>
> At skulle lave en data base for hver enkelt bruger som han så kun har
> adgang til vil jo betyde at når der skal søges så skal der søges i mange
> databaser på samme tid.
>
> /HK

Hej Hans

Prøv at tænke i lidt andre baner.

Hvorfor ikke programmere det hele i PHP.

Fordelen ved PHP løsningen er at den kan bruges af:
1. Windows 98 brugere
2. Windows ME brugere
3. Windows XP brugere
4. Linux brugere
5. MAC brugere
6. UNIX brugere

Del programmet i tre dele:
1. Brugeren indtaster bruger ID og e-mail adresse samt alle
de andre felter i databasen.
Når brugeren klikker opret oprettes der en post med alle felterne,
i feltet aktiv/passiv gemmes et 0
samtidig sendes der et password genereret af serveren til
ovennævnte e-mail adresse.

2. Når brugeren har modtaget sit password
har han adgang til at
* aktivere oplysningerne - aktiv/passiv aktiv / passiv ændres til 1

3. Næste gang brugeren logger ind med bruger ID og password kan han
hvis aktiv / passiv = 1
1. ændre i egne oplysninger
2. slette egne oplysninger

PS. hvis du bruger "WEB10" som webhotel er der et problem
ved ovennævnte løsning.

Mvh. Jørgen



Hans (19-09-2005)
Kommentar
Fra : Hans


Dato : 19-09-05 11:57

"Jørgen Kristensen" <jkr-herlev@get2net.dk> skrev i en meddelelse
news:432e9464$0$245$14726298@news.sunsite.dk...
> Hans wrote:
>
>> Her er så en lidt mere uddybende forklaring.
>>
>> Jeg laver et program til windows, i dette program kan en bruger indtaste
>> oplysninger, når brugeren gemmer logger programmet på en MySQL base via
>> internet og opdatere data basen. Dette program bliver delt ud til en del
>> forskellige brugere, i programmet ved de enkelte brugere er der så nogle
>> oplysninger der gør at jeg meget let i selve programmet kan styre at
>> brugeren kun kan rette på sine egne poster.
>> Men den lidt smartere brugere kunne jo nok finde frem til brugernavn og
>> password til MySQL basen og så hente et andet front end program og derved
>> få adgang til alle poster.
>> Jeg kan jo godt kryptere brugernavn og password i programmet ved hver
>> enkelt bruger men vha. en packet sniffer kan man sikkert let finde det
>> frem når man nu har fuld adgang til computeren.
>>
>> Søgning på alle poster skal så ske via en hjemmeside hvor jeg benytter
>> php, på denne side skal man kun kunne se oplysningerne og altså ikke
>> kunne
>> rette noget.
>>
>> At skulle lave en data base for hver enkelt bruger som han så kun har
>> adgang til vil jo betyde at når der skal søges så skal der søges i mange
>> databaser på samme tid.
>>
>> /HK
>
> Hej Hans
>
> Prøv at tænke i lidt andre baner.
>
> Hvorfor ikke programmere det hele i PHP.
>
> Fordelen ved PHP løsningen er at den kan bruges af:
> 1. Windows 98 brugere
> 2. Windows ME brugere
> 3. Windows XP brugere
> 4. Linux brugere
> 5. MAC brugere
> 6. UNIX brugere

Det er ikke muligt, der er ting i programmet der ikke kan lade sig gøre med
php og hjemmesider og desuden er programmet allerede lavet det skal bare
udvides lidt så det kan opfylde de nye krav.

> Del programmet i tre dele:
> 1. Brugeren indtaster bruger ID og e-mail adresse samt alle
> de andre felter i databasen.
> Når brugeren klikker opret oprettes der en post med alle felterne,
> i feltet aktiv/passiv gemmes et 0
> samtidig sendes der et password genereret af serveren til
> ovennævnte e-mail adresse.
>
> 2. Når brugeren har modtaget sit password
> har han adgang til at
> * aktivere oplysningerne - aktiv/passiv aktiv / passiv ændres til 1
>
> 3. Næste gang brugeren logger ind med bruger ID og password kan han
> hvis aktiv / passiv = 1
> 1. ændre i egne oplysninger
> 2. slette egne oplysninger

Nok ikke muligt da det jo ikke skal foregå via en php side.

> PS. hvis du bruger "WEB10" som webhotel er der et problem
> ved ovennævnte løsning.

Jeg har egen server.

/HK



Hans (19-09-2005)
Kommentar
Fra : Hans


Dato : 19-09-05 12:14

"Hans" <nomail@noname.dk> skrev i en meddelelse
news:432d7323$0$84015$edfadb0f@dtext01.news.tele.dk...
> "NoMoreSpam" <nowhere@nowhere.com> skrev i en meddelelse
> news:gwcXe.68126$Fe7.229285@news000.worldonline.dk...
> Her er så en lidt mere uddybende forklaring.
>
> Jeg laver et program til windows, i dette program kan en bruger indtaste
> oplysninger, når brugeren gemmer logger programmet på en MySQL base via
> internet og opdatere data basen. Dette program bliver delt ud til en del
> forskellige brugere, i programmet ved de enkelte brugere er der så nogle
> oplysninger der gør at jeg meget let i selve programmet kan styre at
> brugeren kun kan rette på sine egne poster.
> Men den lidt smartere brugere kunne jo nok finde frem til brugernavn og
> password til MySQL basen og så hente et andet front end program og derved
> få adgang til alle poster.
> Jeg kan jo godt kryptere brugernavn og password i programmet ved hver
> enkelt bruger men vha. en packet sniffer kan man sikkert let finde det
> frem når man nu har fuld adgang til computeren.
>
> Søgning på alle poster skal så ske via en hjemmeside hvor jeg benytter
> php, på denne side skal man kun kunne se oplysningerne og altså ikke kunne
> rette noget.
>
> At skulle lave en data base for hver enkelt bruger som han så kun har
> adgang til vil jo betyde at når der skal søges så skal der søges i mange
> databaser på samme tid.

Men det er måske en Multi-Tier løsning jeg skal lave?

/HK



Jesper Stocholm (19-09-2005)
Kommentar
Fra : Jesper Stocholm


Dato : 19-09-05 12:38

"Hans" <nomail@noname.dk> wrote in
news:432d7323$0$84015$edfadb0f@dtext01.news.tele.dk:

> Her er så en lidt mere uddybende forklaring.
>
> Jeg laver et program til windows, i dette program kan en bruger
> indtaste oplysninger, når brugeren gemmer logger programmet på en
> MySQL base via internet og opdatere data basen. Dette program bliver
> delt ud til en del forskellige brugere, i programmet ved de enkelte
> brugere er der så nogle oplysninger der gør at jeg meget let i selve
> programmet kan styre at brugeren kun kan rette på sine egne poster.


> Men den lidt smartere brugere kunne jo nok finde frem til brugernavn
> og password til MySQL basen og så hente et andet front end program og
> derved få adgang til alle poster.
> Jeg kan jo godt kryptere brugernavn og password i programmet ved hver
> enkelt bruger men vha. en packet sniffer kan man sikkert let finde det
> frem når man nu har fuld adgang til computeren.

Disse spørgsmål tror jeg bedst du får svar på i gruppen
dk.edb.sikkerhed.

Som jeg forstår dit problem, så vil du sikre dig

1) at brugernavn + password ikke kan opsnappes undervejs
2) at brugernavn + password til db ikke kan opsnappes undervejs.

Løsningen på 1) kunne være at kryptere dem (med public-key kryptering) -
evt med et tidsstempel, så data ikke kan "gensendes" til din server.
Hermed undgås det at data kan opsnappes undervejs. Du gemmer så blot den
offentlige nøgle i programmet.

Løsningen på 2) kunne være at lave en webservice på din webserver som
brugerid etc sendes til - og som returnerer data til dig. Hermed kan du
nøjes med at bruger brugerid+password til databasen i din PHP-kode - og
dermed kan den ikke opsnappes.

--
Jesper Stocholm
http://stocholm.dk


Hans (19-09-2005)
Kommentar
Fra : Hans


Dato : 19-09-05 13:55

"Jesper Stocholm" <j@stocholm.invalid> skrev i en meddelelse
news:Xns96D68AA349C5Bjstocholminvalid@62.243.74.162...
> "Hans" <nomail@noname.dk> wrote in
> news:432d7323$0$84015$edfadb0f@dtext01.news.tele.dk:
>
>> Her er så en lidt mere uddybende forklaring.
>>
>> Jeg laver et program til windows, i dette program kan en bruger
>> indtaste oplysninger, når brugeren gemmer logger programmet på en
>> MySQL base via internet og opdatere data basen. Dette program bliver
>> delt ud til en del forskellige brugere, i programmet ved de enkelte
>> brugere er der så nogle oplysninger der gør at jeg meget let i selve
>> programmet kan styre at brugeren kun kan rette på sine egne poster.
>
>
>> Men den lidt smartere brugere kunne jo nok finde frem til brugernavn
>> og password til MySQL basen og så hente et andet front end program og
>> derved få adgang til alle poster.
>> Jeg kan jo godt kryptere brugernavn og password i programmet ved hver
>> enkelt bruger men vha. en packet sniffer kan man sikkert let finde det
>> frem når man nu har fuld adgang til computeren.
>
> Disse spørgsmål tror jeg bedst du får svar på i gruppen
> dk.edb.sikkerhed.
>
> Som jeg forstår dit problem, så vil du sikre dig
>
> 1) at brugernavn + password ikke kan opsnappes undervejs
> 2) at brugernavn + password til db ikke kan opsnappes undervejs.
>
> Løsningen på 1) kunne være at kryptere dem (med public-key kryptering) -
> evt med et tidsstempel, så data ikke kan "gensendes" til din server.
> Hermed undgås det at data kan opsnappes undervejs. Du gemmer så blot den
> offentlige nøgle i programmet.
>
> Løsningen på 2) kunne være at lave en webservice på din webserver som
> brugerid etc sendes til - og som returnerer data til dig. Hermed kan du
> nøjes med at bruger brugerid+password til databasen i din PHP-kode - og
> dermed kan den ikke opsnappes.

Ja dvs. at jeg har følgende:

(Windows program) <> (Server program) <> (MySQL)

Windows programmet er hos de enkelte brugere, Server programmet og MySQL
ligger på serveren. Er det ikke det man kalder et Multi-tier system?

/HK



Hans (19-09-2005)
Kommentar
Fra : Hans


Dato : 19-09-05 13:58

"Hans" <nomail@noname.dk> skrev i en meddelelse
news:432eb534$0$84033$edfadb0f@dtext01.news.tele.dk...
> "Jesper Stocholm" <j@stocholm.invalid> skrev i en meddelelse
> news:Xns96D68AA349C5Bjstocholminvalid@62.243.74.162...
>> "Hans" <nomail@noname.dk> wrote in
>> news:432d7323$0$84015$edfadb0f@dtext01.news.tele.dk:
>>
>>> Her er så en lidt mere uddybende forklaring.
>>>
>>> Jeg laver et program til windows, i dette program kan en bruger
>>> indtaste oplysninger, når brugeren gemmer logger programmet på en
>>> MySQL base via internet og opdatere data basen. Dette program bliver
>>> delt ud til en del forskellige brugere, i programmet ved de enkelte
>>> brugere er der så nogle oplysninger der gør at jeg meget let i selve
>>> programmet kan styre at brugeren kun kan rette på sine egne poster.
>>
>>
>>> Men den lidt smartere brugere kunne jo nok finde frem til brugernavn
>>> og password til MySQL basen og så hente et andet front end program og
>>> derved få adgang til alle poster.
>>> Jeg kan jo godt kryptere brugernavn og password i programmet ved hver
>>> enkelt bruger men vha. en packet sniffer kan man sikkert let finde det
>>> frem når man nu har fuld adgang til computeren.
>>
>> Disse spørgsmål tror jeg bedst du får svar på i gruppen
>> dk.edb.sikkerhed.
>>
>> Som jeg forstår dit problem, så vil du sikre dig
>>
>> 1) at brugernavn + password ikke kan opsnappes undervejs
>> 2) at brugernavn + password til db ikke kan opsnappes undervejs.
>>
>> Løsningen på 1) kunne være at kryptere dem (med public-key kryptering) -
>> evt med et tidsstempel, så data ikke kan "gensendes" til din server.
>> Hermed undgås det at data kan opsnappes undervejs. Du gemmer så blot den
>> offentlige nøgle i programmet.
>>
>> Løsningen på 2) kunne være at lave en webservice på din webserver som
>> brugerid etc sendes til - og som returnerer data til dig. Hermed kan du
>> nøjes med at bruger brugerid+password til databasen i din PHP-kode - og
>> dermed kan den ikke opsnappes.
>
> Ja dvs. at jeg har følgende:
>
> (Windows program) <> (Server program) <> (MySQL)
>
> Windows programmet er hos de enkelte brugere, Server programmet og MySQL
> ligger på serveren. Er det ikke det man kalder et Multi-tier system?

Desværre betyder det så at det windows program som jeg allerede har lavet
ikke kan bruges da det jo forbinder direkte til MySQL serveren.

/HK



Jesper Stocholm (19-09-2005)
Kommentar
Fra : Jesper Stocholm


Dato : 19-09-05 15:36

"Hans" <nomail@noname.dk> wrote in
news:432eb5dc$0$84013$edfadb0f@dtext01.news.tele.dk:

> "Hans" <nomail@noname.dk> skrev i en meddelelse

>> (Windows program) <> (Server program) <> (MySQL)
>>
>> Windows programmet er hos de enkelte brugere, Server programmet og
>> MySQL ligger på serveren. Er det ikke det man kalder et Multi-tier
>> system?
>
> Desværre betyder det så at det windows program som jeg allerede har
> lavet ikke kan bruges da det jo forbinder direkte til MySQL serveren.

Nu kan jeg ikke så godt udtale mig om strukturen i dit program, men det
_bør_ ikke være noget problem at udskifte din "data-provider". Hvis dit
program har en adskillelse af logik fra datalogik, så er det vel reelt kun
de metoder, der henter data, som du skal ændre.

Hvis man gør det korrekt fra starten af, så er det ikke noget problem at
ændre din provider. Jeg har prøvet det tidligere, hvor jeg også skiftede
datakilde i en web-applikation, men da jeg havde tænkt over designet
undervejs, så var det reelt kun 4 metoder jeg skulle ændre - resten var
100% samme kode.



--
Jesper Stocholm
http://stocholm.dk

Hans (19-09-2005)
Kommentar
Fra : Hans


Dato : 19-09-05 16:24

"Jesper Stocholm" <j@stocholm.invalid> skrev i en meddelelse
news:Xns96D6A8D4EFE29jstocholminvalid@62.243.74.162...
> "Hans" <nomail@noname.dk> wrote in
> news:432eb5dc$0$84013$edfadb0f@dtext01.news.tele.dk:
>
>> "Hans" <nomail@noname.dk> skrev i en meddelelse
>
>>> (Windows program) <> (Server program) <> (MySQL)
>>>
>>> Windows programmet er hos de enkelte brugere, Server programmet og
>>> MySQL ligger på serveren. Er det ikke det man kalder et Multi-tier
>>> system?
>>
>> Desværre betyder det så at det windows program som jeg allerede har
>> lavet ikke kan bruges da det jo forbinder direkte til MySQL serveren.
>
> Nu kan jeg ikke så godt udtale mig om strukturen i dit program, men det
> _bør_ ikke være noget problem at udskifte din "data-provider". Hvis dit
> program har en adskillelse af logik fra datalogik, så er det vel reelt kun
> de metoder, der henter data, som du skal ændre.
>
> Hvis man gør det korrekt fra starten af, så er det ikke noget problem at
> ændre din provider. Jeg har prøvet det tidligere, hvor jeg også skiftede
> datakilde i en web-applikation, men da jeg havde tænkt over designet
> undervejs, så var det reelt kun 4 metoder jeg skulle ændre - resten var
> 100% samme kode.

Jow der er rimeligt opdelt så der er da ikke ret meget der skal ændres men
det havde jo stadig været lettere at kunne bruge det som det er, og hvis det
skal laves med et program der kører på serveren så skal det jo også laves.
Det letteste havde jo været hvis man direkte i MySQL kunne lavet noget
smart.

/HK



Geert Lund (19-09-2005)
Kommentar
Fra : Geert Lund


Dato : 19-09-05 16:44

Hans wrote:

> Det letteste havde jo været hvis man direkte i MySQL kunne lavet noget
> smart.

Du kunne vel starte med at oprette forbindelse fra klienten til MySQL
serveren gennem en krypteret forbindelse? Således vil man ikke kunne
packetsniffe osv.?

--
Med venlig hilsen
Geert Lund,
www.GLD.dk

Hans (19-09-2005)
Kommentar
Fra : Hans


Dato : 19-09-05 16:51

"Geert Lund" <glund-news@post.tele.dk> skrev i en meddelelse
news:432edcac$0$184$edfadb0f@dtext02.news.tele.dk...
> Hans wrote:
>
>> Det letteste havde jo været hvis man direkte i MySQL kunne lavet noget
>> smart.
>
> Du kunne vel starte med at oprette forbindelse fra klienten til MySQL
> serveren gennem en krypteret forbindelse? Således vil man ikke kunne
> packetsniffe osv.?

En krypteret forbindelse, er det noget man kan sætte op i MySQL?

/HK



Geert Lund (19-09-2005)
Kommentar
Fra : Geert Lund


Dato : 19-09-05 16:55

Hans wrote:

> En krypteret forbindelse, er det noget man kan sætte op i MySQL?

Check MySQL manualen [1] :)

Der kan laves forbindelser via SSL fra og med MySQL 4.0.0.


[1] http://dev.mysql.com/doc/mysql/en/secure-connections.html

--
Med venlig hilsen
Geert Lund,
www.GLD.dk

Jesper Stocholm (19-09-2005)
Kommentar
Fra : Jesper Stocholm


Dato : 19-09-05 17:11

Geert Lund <glund-news@post.tele.dk> wrote in news:432edf3f$0$184
$edfadb0f@dtext02.news.tele.dk:

> Hans wrote:
>
>> En krypteret forbindelse, er det noget man kan sætte op i MySQL?
>
> Check MySQL manualen [1] :)
>
> Der kan laves forbindelser via SSL fra og med MySQL 4.0.0.
>
>
> [1] http://dev.mysql.com/doc/mysql/en/secure-connections.html

Men det ændrer jo ikke på, at kodeordet så skal stå i applikationens kode -
og den kan jo hentes ud, hvis man er ihærdig nok.

Yderligere snak om sikkerheden er mere on-topic i dk.edb.sikkerhed, så jeg
sætter FUT til den gruppe.

--
Jesper Stocholm
http://stocholm.dk

Geert Lund (19-09-2005)
Kommentar
Fra : Geert Lund


Dato : 19-09-05 20:30

Jesper Stocholm wrote:

> Men det ændrer jo ikke på, at kodeordet så skal stå i applikationens kode -
> og den kan jo hentes ud, hvis man er ihærdig nok.

Det er da bare at lade være med at lægge kodeordet i klartekst i
applikationen - hvis vi er ude i at folk gider debugge applikationen for
at finde kodeordet er vi jo lige langt nærmest uanset hvad der bliver gjort.

Og hvis sikkerhedsaspektet er så vigtigt, så bør det ikke være et issue
om hvad der allerede er kodet.

Så jo, min anbefaling er - at benytte krypteret (via fx SSL) adgang til
MySQL databasen - eller krypteret adgang til et abstraktionslag på
serveren der kan styre den reelle database-trafik uden at åbne for
direkte adgang til MySQL og uden at afsløre passwordet til en user der
har skrive rettigheder i databasen.

Alternativet kunne være at lade serveren validere det indtastede
brugernavn og adgangskode og ud fra det aktuelle login grante access /
udsende en token/session der giver adgang til databasen - således vil
igen ingen brugbar information gemmes lokalt i applikationen.


--
Med venlig hilsen
Geert Lund,
www.GLD.dk

Jesper Stocholm (20-09-2005)
Kommentar
Fra : Jesper Stocholm


Dato : 20-09-05 07:21

Geert Lund <glund-news@post.tele.dk> wrote in
news:432f1191$0$176$edfadb0f@dtext02.news.tele.dk:

> Jesper Stocholm wrote:
>
>> Men det ændrer jo ikke på, at kodeordet så skal stå i applikationens
>> kode - og den kan jo hentes ud, hvis man er ihærdig nok.
>
> Det er da bare at lade være med at lægge kodeordet i klartekst i
> applikationen - hvis vi er ude i at folk gider debugge applikationen
> for at finde kodeordet er vi jo lige langt nærmest uanset hvad der
> bliver gjort.

Nu stod der i det oprindelige indlæg

"Men den lidt smartere brugere kunne jo nok finde frem til brugernavn og
password til MySQL basen og så hente et andet front end program og derved
få adgang til alle poster."

Dette tolker jeg som en frygt for, at der rent faktisk er nogen, der vil
sætte sig til at baglæns-udvikle programmet. Nu blev der ikke sagt noget
om formålet med programmet, men hvis det er noget med penge involveret,
så er det jo incitament nok i sig selv.

.... og så er det - afhængigt af typen af program - ikke svært at hente
eventuelle indkodede data ud af et færdigt program.

> Og hvis sikkerhedsaspektet er så vigtigt, så bør det ikke være et
> issue om hvad der allerede er kodet.

Nej

> Så jo, min anbefaling er - at benytte krypteret (via fx SSL) adgang
> til MySQL databasen - eller krypteret adgang til et abstraktionslag på
> serveren der kan styre den reelle database-trafik uden at åbne for
> direkte adgang til MySQL og uden at afsløre passwordet til en user der
> har skrive rettigheder i databasen.

Præcist - hvilket også var mit forslag.



--
Jesper Stocholm
http://stocholm.dk

Jesper Stocholm (19-09-2005)
Kommentar
Fra : Jesper Stocholm


Dato : 19-09-05 15:33

"Hans" <nomail@noname.dk> wrote in
news:432eb534$0$84033$edfadb0f@dtext01.news.tele.dk:

> "Jesper Stocholm" <j@stocholm.invalid> skrev i en meddelelse

>> Som jeg forstår dit problem, så vil du sikre dig
>>
>> 1) at brugernavn + password ikke kan opsnappes undervejs
>> 2) at brugernavn + password til db ikke kan opsnappes undervejs.
>>
>> Løsningen på 1) kunne være at kryptere dem (med public-key
>> kryptering) - evt med et tidsstempel, så data ikke kan "gensendes"
>> til din server. Hermed undgås det at data kan opsnappes undervejs. Du
>> gemmer så blot den offentlige nøgle i programmet.
>>
>> Løsningen på 2) kunne være at lave en webservice på din webserver som
>> brugerid etc sendes til - og som returnerer data til dig. Hermed kan
>> du nøjes med at bruger brugerid+password til databasen i din PHP-kode
>> - og dermed kan den ikke opsnappes.
>
> Ja dvs. at jeg har følgende:
>
> (Windows program) <> (Server program) <> (MySQL)
>
> Windows programmet er hos de enkelte brugere, Server programmet og
> MySQL ligger på serveren. Er det ikke det man kalder et Multi-tier
> system?

Mjaeh ... det kan du godt kalde det.



--
Jesper Stocholm
http://stocholm.dk

Hans (19-09-2005)
Kommentar
Fra : Hans


Dato : 19-09-05 16:25

"Jesper Stocholm" <j@stocholm.invalid> skrev i en meddelelse
news:Xns96D6A8503802Cjstocholminvalid@62.243.74.162...
> "Hans" <nomail@noname.dk> wrote in
> news:432eb534$0$84033$edfadb0f@dtext01.news.tele.dk:
>
>> "Jesper Stocholm" <j@stocholm.invalid> skrev i en meddelelse
>
>>> Som jeg forstår dit problem, så vil du sikre dig
>>>
>>> 1) at brugernavn + password ikke kan opsnappes undervejs
>>> 2) at brugernavn + password til db ikke kan opsnappes undervejs.
>>>
>>> Løsningen på 1) kunne være at kryptere dem (med public-key
>>> kryptering) - evt med et tidsstempel, så data ikke kan "gensendes"
>>> til din server. Hermed undgås det at data kan opsnappes undervejs. Du
>>> gemmer så blot den offentlige nøgle i programmet.
>>>
>>> Løsningen på 2) kunne være at lave en webservice på din webserver som
>>> brugerid etc sendes til - og som returnerer data til dig. Hermed kan
>>> du nøjes med at bruger brugerid+password til databasen i din PHP-kode
>>> - og dermed kan den ikke opsnappes.
>>
>> Ja dvs. at jeg har følgende:
>>
>> (Windows program) <> (Server program) <> (MySQL)
>>
>> Windows programmet er hos de enkelte brugere, Server programmet og
>> MySQL ligger på serveren. Er det ikke det man kalder et Multi-tier
>> system?
>
> Mjaeh ... det kan du godt kalde det.

Men ikke helt, åbenbart

/HK



Jesper Stocholm (19-09-2005)
Kommentar
Fra : Jesper Stocholm


Dato : 19-09-05 16:47

"Hans" <nomail@noname.dk> wrote in news:432ed839$0$84021
$edfadb0f@dtext01.news.tele.dk:

> "Jesper Stocholm" <j@stocholm.invalid> skrev i en meddelelse
>> "Hans" <nomail@noname.dk> wrote in
>>> Windows programmet er hos de enkelte brugere, Server programmet og
>>> MySQL ligger på serveren. Er det ikke det man kalder et Multi-tier
>>> system?
>>
>> Mjaeh ... det kan du godt kalde det.
>
> Men ikke helt, åbenbart

Det er mig, der vrøvler - du kan godt kalde det en multi-tier applikation.



--
Jesper Stocholm
http://stocholm.dk

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste