Hoe wil je dat script gebruiken, moet iedereen het kunnen gebruiken of mag alleen een specifieke user dat gebruiken?quote:Op woensdag 9 juli 2014 06:59 schreef xaban06 het volgende:
Ik wil een script draaien op een server waar meer mensen toegang tot hebben, ik wil niet dat zij de source code kunnen bekijken omdat hier hardcoded wachtwoorden in voorkomen.
Hoe kan ik dit 'encrypten'? Volgens mij met ionCube, maar dat kost al gauw 200 dollar.
Kan het goedkoper, liefst gratis?
Precies. Als mensen het script kunnen lezen en uitvoeren, kunnen ze ook de config lezen, want anders kan het script de config ook niet lezen.quote:Op woensdag 9 juli 2014 12:54 schreef Robuustheid het volgende:
Hoe moet dat script dan toegang krijgen tot de config?
Waar verwijst die resource naar? Ik vermoed dat je met fread wel iets kunt: http://php.net/manual/en/function.fread.phpquote:Op woensdag 9 juli 2014 16:13 schreef Tijn het volgende:
Ik heb een externe library geïnstalleerd die een "resource" maakt aan de hand van een file. Er zitten een paar functies in die library die werken met die resources en dat gaat allemaal prima, maar nou wil ik de resource graag opslaan in een file. Als ik "echo $resource" doe, krijg ik echter enkel "Resource id #4" te zien, daar heb ik natuurlijk niet zoveel aan.
Iemand enig idee hoe ik de inhoud van deze resource kan opslaan?
Hoe is dat handig? Dat is een blinddoek.quote:Op woensdag 9 juli 2014 15:43 schreef raptorix het volgende:
Beter investeer je tijd om iets aan dat wachtwoord in plain text te doen.
Speaking about configs, wat erg handig is is om een Wrapper class te maken die de config uitleest, op die manier heb je config settings strongtyped
Hoe bedoel je "waar verwijst die resource naar"?quote:Op woensdag 9 juli 2014 16:22 schreef bondage het volgende:
[..]
Waar verwijst die resource naar? Ik vermoed dat je met fread wel iets kunt: http://php.net/manual/en/function.fread.php
Omdat je dan bij eventuele changes in de naam van de config, of de manier waarop je je config wilt lezen je het maar op plek hoeft aan te passen.quote:Op woensdag 9 juli 2014 16:28 schreef Boze_Appel het volgende:
[..]
Hoe is dat handig? Dat is een blinddoek.
Config (met password) gewoon buiten de publieke leesbare path van de webserver zetten.
Moet gewoon kunnen: http://php.net/manual/en/function.fread.phpquote:Op woensdag 9 juli 2014 16:32 schreef Tijn het volgende:
[..]
Hoe bedoel je "waar verwijst die resource naar"?
Met fread() en fwrite() kun je files openen en schrijven, maar het lijkt erop dat je alleen met strings kunt werken. Ik wil de (binaire) data die in m'n resource zit naar een file schrijven, maar ik weet niet hoe ik bij deze data kan komen.
Hoe dan? Ik kan wel een file openen met fread() natuurlijk, maar hoe krijg ik de inhoud van de resource die met m'n library is gemaakt dan in de file?quote:Op woensdag 9 juli 2014 16:39 schreef raptorix het volgende:
[..]
Moet gewoon kunnen: http://php.net/manual/en/function.fread.php
Als je dat op een plek zet die niet direct leesbaar is ook.quote:Op woensdag 9 juli 2014 16:36 schreef raptorix het volgende:
[..]
Omdat je dan bij eventuele changes in de naam van de config, of de manier waarop je je config wilt lezen je het maar op plek hoeft aan te passen.
Of de resource bijvoorbeeld verwijst naar de inhoud van een bestand. Fread leest namelijk vanuit een resource. Wat gebeurt er precies in die library? Hoe wordt die resource precies aangemaakt?quote:Op woensdag 9 juli 2014 16:32 schreef Tijn het volgende:
[..]
Hoe bedoel je "waar verwijst die resource naar"?
Met fread() en fwrite() kun je files openen en schrijven, maar het lijkt erop dat je alleen met strings kunt werken. Ik wil de (binaire) data die in m'n resource zit naar een file schrijven, maar ik weet niet hoe ik bij deze data kan komen.
De library is pHash (http://www.phash.org). Ik gebruik ph_audiohash() om van een audiofile een hash te maken, zodat ik die kan gebruiken in ph_audio_dist(). Deze laatste functie vergelijkt twee hashes met elkaar om te kijken of twee geluidsfragmenten op elkaar lijken of niet.quote:Op woensdag 9 juli 2014 16:42 schreef bondage het volgende:
[..]
Of de resource bijvoorbeeld verwijst naar de inhoud van een bestand. Fread leest namelijk vanuit een resource. Wat gebeurt er precies in die library? Hoe wordt die resource precies aangemaakt?
En wat krijg je als je die resource meegeeft aan fread en dat echo't?quote:Op woensdag 9 juli 2014 16:45 schreef Tijn het volgende:
[..]
De library is pHash (http://www.phash.org). Ik gebruik ph_audiohash() om van een audiofile een hash te maken, zodat ik die kan gebruiken in ph_audio_dist(). Deze laatste functie vergelijkt twee hashes met elkaar om te kijken of twee geluidsfragmenten op elkaar lijken of niet.
ph_audiohash() geeft een resource terug van het type "ph_audio_hash". De inhoud daarvan wil ik naar een file schrijven. Maar ik weet niet hoe ik bij die (binaire) data kan komen, want als ik "echo $resource" doe, krijg ik alleen maar "Resource id #4" te zien.
Dan krijg ik een fout: "fread(): supplied resource is not a valid stream resource"quote:Op woensdag 9 juli 2014 17:08 schreef bondage het volgende:
[..]
En wat krijg je als je die resource meegeeft aan fread en dat echo't?
Klopt idd, was meer benieuwd wat je eruit terug zou krijgen. En die lib heeft geen ingebouwde functie om de resource te lezen? Er is trouwens ook nog een functie stream_get_contents, geen idee of dat enig effect heeft maar je kunt altijd proberen.quote:Op woensdag 9 juli 2014 17:17 schreef Tijn het volgende:
[..]
Dan krijg ik een fout: "fread(): supplied resource is not a valid stream resource"
Logisch, want hij verwacht een file system pointer resource zoals fopen() die maakt, en ik geef 'm een ph_audio_hash resource.
stream_get_contents() werkt ook niet, want m'n resource is geen streamquote:Op woensdag 9 juli 2014 17:25 schreef bondage het volgende:
[..]
Klopt idd, was meer benieuwd wat je eruit terug zou krijgen. En die lib heeft geen ingebouwde functie om de resource te lezen? Er is trouwens ook nog een functie stream_get_contents, geen idee of dat enig effect heeft maar je kunt altijd proberen.
Tuurlijk niet.quote:Op woensdag 9 juli 2014 13:59 schreef Tijn het volgende:
[..]
Precies. Als mensen het script kunnen lezen en uitvoeren, kunnen ze ook de config lezen, want anders kan het script de config ook niet lezen.
1 2 3 4 5 6 7 8 9 10 11 12 13 | -rw------- 1 www-data mijnuser 34 jul 9 18:39 config.txt -rwxrwxr-x 1 mijnuser mijnuser 37 jul 9 18:42 x.sh $ cat config.txt cat: config.txt: Permission denied $ cat x.sh #!/usr/bin/env zsh cat ./config.txt $ sudo -u www-data ./x.sh dit is niet leesbaar voor anderen |
Het punt is denk ik dat de persoon in kwestie geen eigen user account heeft en degene gebruikt die ook door z'n collega's gebruikt worden. Daarom is alles wat leesbaar is voor hem ook leesbaar voor de rest.quote:Op woensdag 9 juli 2014 18:44 schreef slacker_nl het volgende:
[..]
Tuurlijk niet.
[ code verwijderd ]
En anders moet je aan de slag met setuid: http://php.net/manual/en/function.posix-setuid.php en/of http://goodworkaround.com/node/39
En dat is dus stom en moet je niet willen. Punt.quote:Op woensdag 9 juli 2014 18:52 schreef Tijn het volgende:
[..]
Het punt is denk ik dat de persoon in kwestie geen eigen user account heeft en degene gebruikt die ook door z'n collega's gebruikt worden. Daarom is alles wat leesbaar is voor hem ook leesbaar voor de rest.
Tsja. Ik heb de situatie ook niet bedacht, he.quote:Op woensdag 9 juli 2014 18:53 schreef slacker_nl het volgende:
[..]
En dat is dus stom en moet je niet willen. Punt.
Jawel, want je speculeert eroverquote:Op woensdag 9 juli 2014 18:55 schreef Tijn het volgende:
[..]
Tsja. Ik heb de situatie ook niet bedacht, he.
Das waar. Maar goed, als die kerel z'n eigen user account heeft, is het inderdaad op te lossen. Anders niet, dan kun je het hooguit obfusceren.quote:
1 2 3 4 5 6 7 8 | public function test(){ global $test; $test = 'lalala'; } public function test2(){ echo $test; } |
1 2 3 4 5 6 7 8 | public function test(){ $test = 'lalala'; global $test; } public function test2(){ echo $test; } |
Bij het definieren op regel 2 vind ie geen global en maakt ie dus een var binnen de functie aan. Vervolgens defineer je een global var op regel 3 en die kijkt niet of je binnen de functie een var hebt met dezelfde naam.quote:Op vrijdag 11 juli 2014 10:00 schreef Robuustheid het volgende:
[ code verwijderd ]
Dit werkt.
Waarom werkt het niet, als je na initialisatie van var test pas verklaart dat dezelfde var een global variabele is? De logica ervan ontgaat mij. De variabele $test is toch
beschikbaar om als global gedefinieerd te worden
[ code verwijderd ]
Geen output.
Maak een local aan in het object zelf! Dus binnen een klasse. (omdat hij dat andere mogelijk niet kent). en vervolgens roep je het aan vanuit het object zelf.quote:Op vrijdag 11 juli 2014 10:21 schreef Maringo het volgende:
[..]
Bij het definieren op regel 2 vind ie geen global en maakt ie dus een var binnen de functie aan. Vervolgens defineer je een global var op regel 3 en die kijkt niet of je binnen de functie een var hebt met dezelfde naam.
Maar buiten dit, waarom een global var?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |