Forum
Anbefal et accespoint
2
AMD 9070 XT
543
50XX launch i dag - har I fået fat i et kort?
290
Nyt build 14-16k
16
Årsopgørelsen 2024
8
Opdatering af Mobilforsiden mv
20
Grønland. Hvad er den bedste løsning?
12
Ny pc til CS:GO
11
Gmail+Outlook+eget domæne->Proton
2
Asus astral 5090 ændret forventet leveringstid
19
Valg af ISP?
6
AIO køling for første gang
12
"Office pakke" til Android tablet ?
12
3090 - Hvad er det værd?
1
Jeg bliver skræmt af Trump
115
Compumail har 3 stk. 5090 til levering 17/03/25
14
2. Tråd til rapportering af fejl på det nye design
172
Ram. kan jeg blande??
5
USA har stoppet efterretninger til Ukraine
55
Køb af god farkorrekt IPS skærm
14
F 100% Disk use
14
Billigst TB pris - hvilken hdd?
13
Bedste computer (uden gfx) til 8-8,5 k
6
Western Digital Harddisk
6
9900X3D / 9950X3D launch
21
Ophæng til laptop under bordpladen
12
GPU til1080p gamer (CS2/LoL)
12
RTX 50xx Blackwell launch
298
Chromecast audio alternativ?
13
AMD 9950X3D Review RoundUp
0
Køb & Salg
K: G.Skill DDR4 - 32 GB -3600 - CL - 16 Og 5950x
0
S: BackBone One PS 2nd Gen
2
S: 3 ældre pcer
13
S: Ældre hardware kan hentes gratis.
12
V: NAS: Qnap TS-659 Pro
0
S: Unifi Dream Router (UDR)
4
S: Synology DS415play
4
S: Gamer pc
2
S: PC med ældre gfx.
4
Bortgives: Samsung skærm
2
S: AOC Q27G3XMN Gaming Skærm
2
S: R7 5800x3D ASUS STRIX X570-F G.skill 32gb
13
S: ASUS ROG RX 6650 XT OC V2
2
S: Asus TUF 4080 super 16GB (salg/bytte) MMVision
16
V: i5 4690k + asus z97-a mobo + 8x2 1600mhz ram +
0
V: Vurdering af Stationær
3
V: Phillips Ambilight 48OLED707 4K 120hz VRR
4
S: IS-55 Low Profile Black CPU Cooler - ID-Cooling
20
S: ældre computer
0
S: Diverse Switches (Juniper, TP, Netgear 10Gbit)
2
Hol.dk's Uofficielle White/Black liste V4
211
S: Defekt A2000
2
K: Søger grafikkort og 1TB SSD
5
S: MSI RTX 3070 GAMING X TRIO
2
S: Fujitsu primergy tx100 s3p
1
S: hp prodesk 400 g4 sff
1
S: 9070 XT Steel Legend 5999,-
1
S: Salg af Muse, musemåtter, keyboard og mere
20
K: Ryzen 7700 (non-x) / 9700x
0
S: GIGABYTE GeForce RTX 4070 Ti AORUS Master - 12G
6
Forum
Anbefal et accespoint
2
AMD 9070 XT
543
50XX launch i dag - har I fået fat i et kort?
290
Nyt build 14-16k
16
Årsopgørelsen 2024
8
Opdatering af Mobilforsiden mv
20
Grønland. Hvad er den bedste løsning?
12
Ny pc til CS:GO
11
Gmail+Outlook+eget domæne->Proton
2
Asus astral 5090 ændret forventet leveringstid
19
Valg af ISP?
6
AIO køling for første gang
12
"Office pakke" til Android tablet ?
12
3090 - Hvad er det værd?
1
Jeg bliver skræmt af Trump
115
Compumail har 3 stk. 5090 til levering 17/03/25
14
2. Tråd til rapportering af fejl på det nye design
172
Ram. kan jeg blande??
5
USA har stoppet efterretninger til Ukraine
55
Køb af god farkorrekt IPS skærm
14
F 100% Disk use
14
Billigst TB pris - hvilken hdd?
13
Bedste computer (uden gfx) til 8-8,5 k
6
Western Digital Harddisk
6
9900X3D / 9950X3D launch
21
Ophæng til laptop under bordpladen
12
GPU til1080p gamer (CS2/LoL)
12
RTX 50xx Blackwell launch
298
Chromecast audio alternativ?
13
AMD 9950X3D Review RoundUp
0
Køb & Salg
K: G.Skill DDR4 - 32 GB -3600 - CL - 16 Og 5950x
0
S: BackBone One PS 2nd Gen
2
S: 3 ældre pcer
13
S: Ældre hardware kan hentes gratis.
12
V: NAS: Qnap TS-659 Pro
0
S: Unifi Dream Router (UDR)
4
S: Synology DS415play
4
S: Gamer pc
2
S: PC med ældre gfx.
4
Bortgives: Samsung skærm
2
S: AOC Q27G3XMN Gaming Skærm
2
S: R7 5800x3D ASUS STRIX X570-F G.skill 32gb
13
S: ASUS ROG RX 6650 XT OC V2
2
S: Asus TUF 4080 super 16GB (salg/bytte) MMVision
16
V: i5 4690k + asus z97-a mobo + 8x2 1600mhz ram +
0
V: Vurdering af Stationær
3
V: Phillips Ambilight 48OLED707 4K 120hz VRR
4
S: IS-55 Low Profile Black CPU Cooler - ID-Cooling
20
S: ældre computer
0
S: Diverse Switches (Juniper, TP, Netgear 10Gbit)
2
Hol.dk's Uofficielle White/Black liste V4
211
S: Defekt A2000
2
K: Søger grafikkort og 1TB SSD
5
S: MSI RTX 3070 GAMING X TRIO
2
S: Fujitsu primergy tx100 s3p
1
S: hp prodesk 400 g4 sff
1
S: 9070 XT Steel Legend 5999,-
1
S: Salg af Muse, musemåtter, keyboard og mere
20
K: Ryzen 7700 (non-x) / 9700x
0
S: GIGABYTE GeForce RTX 4070 Ti AORUS Master - 12G
6
- Denne tråd er over 6 måneder gammel
Er du sikker på, at du har noget relevant at tilføje?
Open Source projekt, muligt stadig at gemme databa...
Af FOSSQ gæst
Hej HOL.
Det er måske lidt et dumt spørgsmål, men tænkte at der eventuelt var nogle der vidste mere end mig selv her. :)
Sagen er, at jeg har et open source projekt som ligger frit tilgængeligt på github, et spil, hvor efter en spiller har spillet en bane, bliver spillerens score lagret i en MongoDB database.
Jeg bruger MongoDB Atlas som min database provider, hvilket har virket fint indtil videre.
Lige nu bruger jeg properties filer til at load forskellige spil indstillinger ind samt database credentials.
Mit problem er så, at jeg ikke har lyst til at ligge disse database credentials frit ind i mit github repository, da jeg selvfølgelig ikke vil have at folk kan få adgang til database, og eventuelt ændre deres score mm.
Jeg har selv tænkt lidt over hvad der kunne gøres, eventuelt bruge nogle former for kryptering, altså gemme database credentials i en binary fil, og så dekryptere den ved start af spillet. Problemer er jo så bare igen, at det er open source, så folk kan se krypterings algoritmen og så hurtigt komme til at dekryptere den.
Lige nu har jeg en version, som bare bruger en arraylist som "database" på github, altså jeg har ikke min rigtige database version på github endnu, af ovenstående grunde.
Jeg ved ikke om det jeg tænker, er muligt overhovedet? - men hvis i har nogle tips & tricks, så ville jeg da rigtigt gerne høre dem. Tak!
Det er måske lidt et dumt spørgsmål, men tænkte at der eventuelt var nogle der vidste mere end mig selv her. :)
Sagen er, at jeg har et open source projekt som ligger frit tilgængeligt på github, et spil, hvor efter en spiller har spillet en bane, bliver spillerens score lagret i en MongoDB database.
Jeg bruger MongoDB Atlas som min database provider, hvilket har virket fint indtil videre.
Lige nu bruger jeg properties filer til at load forskellige spil indstillinger ind samt database credentials.
Mit problem er så, at jeg ikke har lyst til at ligge disse database credentials frit ind i mit github repository, da jeg selvfølgelig ikke vil have at folk kan få adgang til database, og eventuelt ændre deres score mm.
Jeg har selv tænkt lidt over hvad der kunne gøres, eventuelt bruge nogle former for kryptering, altså gemme database credentials i en binary fil, og så dekryptere den ved start af spillet. Problemer er jo så bare igen, at det er open source, så folk kan se krypterings algoritmen og så hurtigt komme til at dekryptere den.
Lige nu har jeg en version, som bare bruger en arraylist som "database" på github, altså jeg har ikke min rigtige database version på github endnu, af ovenstående grunde.
Jeg ved ikke om det jeg tænker, er muligt overhovedet? - men hvis i har nogle tips & tricks, så ville jeg da rigtigt gerne høre dem. Tak!
Steffen
#1
Gæst
16-09-2017 22:58
Umiddelbart lyder det lidt forkert at du vil have spillet til at tage fat i databasen direkte, og det korte svar på dit credentials problem er selvfølgelig at det ikke kan lade sig gøre.
(hvis credentials ligger på klienten så kan klienten få fat i dem, længere er den egentlig ikke)
Hvis du nu lavede et api som du afleverede data fra spillet til, så skal du i hvert fald ikke bekymre dig om database credentials. - det er jo første skridt.
Næste er så at du gerne vil undgå at folk kan manipulere med sin score.
-den er sværere.
Hvis jeg spillede dit spil og fandt det request der bliver lavet til api'et når man har gennemført en bane, kan jeg jo som udgangspunkt altid sende det request igen, og ændre min score.
For at kunne udtænke den gyldne løsning her skal man nok kende dit spil og måden score udregnes på.
(hvis credentials ligger på klienten så kan klienten få fat i dem, længere er den egentlig ikke)
Hvis du nu lavede et api som du afleverede data fra spillet til, så skal du i hvert fald ikke bekymre dig om database credentials. - det er jo første skridt.
Næste er så at du gerne vil undgå at folk kan manipulere med sin score.
-den er sværere.
Hvis jeg spillede dit spil og fandt det request der bliver lavet til api'et når man har gennemført en bane, kan jeg jo som udgangspunkt altid sende det request igen, og ændre min score.
For at kunne udtænke den gyldne løsning her skal man nok kende dit spil og måden score udregnes på.
Du behøver vel ikke lægge dit brugernavn og password til databasen i koden. Læg det i en properties fil som du ikke lægger på sammen med resten af koden.
Oftest tilføjer du en .gitignore fil hvor du skriver filnavnet i. Hver gang du beder git om at checke ind, så kigger den lige forbi filen(.gitignore) først for at se om der er nogle filer der skal udelades.
Husk at hvis du har checket filen ind én gang, så vil alle folk kunne gå tilbage og se hvad filen indeholdte (med mindre du retter i din git historik).
Du kan læse mere her:
https://help.github.com/articles/ig.../
Hvis du stadig gerne vil lade folk komme hurtigt igang med dit projekt (de kan jo selv køre en kopi fa det), så kan du jo lave en lille "example" fil. Lad os sige at dine database login-oplysninger står i filen database.config, men database.config er tilføjet til din .gitignore. Så kan du lave en fil der hedder database.config.example og så skrive i dokumentationen at de lige skal kopiere database.config.example over til en fil database.config (husk at den fil har de ikke hvis de skal i gang) og herefter skal de rette den til.
Husk at hvis du har checket filen ind én gang, så vil alle folk kunne gå tilbage og se hvad filen indeholdte (med mindre du retter i din git historik).
Du kan læse mere her:
https://help.github.com/articles/ig.../
Hvis du stadig gerne vil lade folk komme hurtigt igang med dit projekt (de kan jo selv køre en kopi fa det), så kan du jo lave en lille "example" fil. Lad os sige at dine database login-oplysninger står i filen database.config, men database.config er tilføjet til din .gitignore. Så kan du lave en fil der hedder database.config.example og så skrive i dokumentationen at de lige skal kopiere database.config.example over til en fil database.config (husk at den fil har de ikke hvis de skal i gang) og herefter skal de rette den til.
Sørg først for, at du har et deployment-system sat op til at automatisere dine releases.
Sørg derfter for at dine konfigurationsindstillinger bliver opdateret af din deployment-mekanismen, sådan at du alene har eksempel-placeholders liggende i dine config-filer.
Når din kode bliver bygget som en del af din deployment pipeline, så stempler ... noget... dine rigtige konfigurationsindstillinger ned i dine config-filer.
Det vil sige at dine følsomme brugernavne og kodeord kun ligger dit deployment-system.
De fleste CI/CD systemer understøtter "sikre" miljø-variable, som du mere eller mindre automatisk, alt efter CI/CD system, kan få stemplet ned i dine filer.
Sørg derfter for at dine konfigurationsindstillinger bliver opdateret af din deployment-mekanismen, sådan at du alene har eksempel-placeholders liggende i dine config-filer.
Når din kode bliver bygget som en del af din deployment pipeline, så stempler ... noget... dine rigtige konfigurationsindstillinger ned i dine config-filer.
Det vil sige at dine følsomme brugernavne og kodeord kun ligger dit deployment-system.
De fleste CI/CD systemer understøtter "sikre" miljø-variable, som du mere eller mindre automatisk, alt efter CI/CD system, kan få stemplet ned i dine filer.