Het is goed om even te zien hoe PHP nu eigenlijk werkt. Als je een PHP bestand uitvoert gaat het door de volgende stappen:quote:Op donderdag 24 mei 2007 08:49 schreef WyriHaximus het volgende:
Goed ik hoor de klok en heb geen idee waar de klepel precies is maar is ioncube encoder iets om naar te kijken? http://www.ioncube.com/sa_encoder.php
Mjah, dus veel verder dan ergens ver weg gestopt een hashcode vergelijken, en die file misschien obfuscaten kom ik niet.quote:Op donderdag 24 mei 2007 08:22 schreef JeRa het volgende:
[..]
Ehm, nee. De enige 'veiligheid' die tot nu toe geldt heet 'closed source' en dat noemen ze ook wel 'security through obscurity'dat ze voor spelletjes vage shit hebben bedacht als geforceerde foutjes op de CD of DVD en voor applicaties een licentieactivatie met hardwarekoppeling en 5MB aan omzeilende code wil niet zeggen dat het veilig is, en/of dat je het voor je PHP app kunt gebruiken
Dé veiligste manier is alsnog de hele boel intern draaien. Vrijwel elke manier om het te beveiligen in PHP is net zo veilig als de closed source oplossing, minus dat het open source is.Zolang je alle functionaliteit echter bij jouw kant neerlegt, heb je er ook volledige controle over.
Ik zat nog te denken aan remote activatie waarbij je per klant een ander essentiëel deel van de applicatie laat downloaden (zo essentiëel dat alleen de activatie nog werkt). Piracy zul je niet echt kunnen voorkomen, maar door slim watermarks (whitespace? eventueel in de output) achter te laten kun je er eventueel wel achterkomen wie het is geweest.quote:Op donderdag 24 mei 2007 09:00 schreef Swetsenegger het volgende:
[..]
Mjah, dus veel verder dan ergens ver weg gestopt een hashcode vergelijken, en die file misschien obfuscaten kom ik niet.
Ook nog een ideequote:Op donderdag 24 mei 2007 09:02 schreef JeRa het volgende:
[..]
Ik zat nog te denken aan remote activatie waarbij je per klant een ander essentiëel deel van de applicatie laat downloaden (zo essentiëel dat alleen de activatie nog werkt). Piracy zul je niet echt kunnen voorkomen, maar door slim watermarks (whitespace? eventueel in de output) achter te laten kun je er eventueel wel achterkomen wie het is geweest.
Als dat niet het geval is hoef je je nergens druk om te makenquote:Op donderdag 24 mei 2007 09:04 schreef Swetsenegger het volgende:
[..]
Goed, niet dat ik verwacht dat iemand mijn apps wil jatten
quote:Op donderdag 24 mei 2007 09:00 schreef JeRa het volgende:
[..]
Het is goed om even te zien hoe PHP nu eigenlijk werkt. Als je een PHP bestand uitvoert gaat het door de volgende stappen:
1) De PHP parser leest je script, controleert het op syntaxfouten e.d.
2) De PHP parser zet vervolgens je script om naar PHP opcodes (compileren, dit is net zoiets als een Java .class)
3) Vervolgens voert de PHP "virtual machine" de opcodes uit
Als je je bestanden codeert met zo'n encrypter, dan voert ie vantevoren stap 1 en 2 al uit. Eventueel combineert ie dit met licenties en encryption. In dat geval worden er deze stappen uitgevoerd:
1) De Encrypter leest je bestand in en controleert evt. licenties e.d.
2) De Encrypter decodeert je bestand naar PHP opcodes
3) Vervolgens voert de PHP "virtual machine" de opcodes uit
De oplettenden zullen al hebben gezien dat je in beide gevallen voor stap 3 dezelfde opcodes moet hebben voor hetzelfde scriptnu is het punt dat die opcodes echt niet heel moeilijk zijn, en dat als iemand wil hij je scripts kan decoderen en strippen van de 'veiligheidsfeatures'. En dat is onveilig aan alle (voor zover ik gezien heb) PHP encrypters.
Hoop het wel .. snuffelenquote:Op donderdag 24 mei 2007 09:58 schreef Tuvai.net het volgende:
Toch inderdaad wel jammer dat PHP het beschermen van broncode zo vermoeilijkt. Dat vind ik aan ASP.NET weer hartstikke handig, dat je een .DLL`etje hebt waar alleen je programma verder iets mee kan. Wellicht krijgt PHP ook nog iets dergelijks in de toekomst?
Van: http://www.phphacks.com/content/view/49/33/quote:Op donderdag 24 mei 2007 10:11 schreef WyriHaximus het volgende:
[..]
Hoop het wel .. snuffelen
* WyriHaximus gaat info over PHP6 zoeken
quote:* The register_globals, safe_mode and various quotes options will be removed.
* The ereg extension is removed, while the XMLReader, XMLWriter and Fileinfo extensions are added to the core, and by default are on.
* Another addition I find particularly exciting is that APC (Alternative PHP Cache) will be added to the core, though will be off by default. APC can provide serious performance benefits.
* All E_STRICT messages will be merged into E_ALL, another positive change that will encourage good programming practice.
* ASP style <% tags will no longer be supported.
* Addition of new 64-bit integers. The current integer type remains as is, 32 or 64-bit dependent on the platform.
* Use of foreach with multi-dimensional arrays, for example foreach($array as $k => list($a, $b)).
* A new switch in php.ini will allow you to disable Unicode semantics (by default they will be on).
* There will also be various string improvements related to Unicode.
* The microtime() function will return the full floating point number, rather than microseconds unix_timestamp, as at present, probably making the function more readily useful.
* The {} notation for string indexes will no longer be supported, while the [] version will get added to substr() and array_slice() functionality.
* FastCGI will always be enabled for the CGI SAPI, and will not allow it to be disabled.
* The ancient HTTP_*_VARS globals will no longer be supported.
* var will alias public. var was permitted with PHP4 classes, but in PHP 5 this raised a warning. In PHP 6 var will simply be an alias for public, so no warning is necessary.
* The ze1 compatibility mode, which tried to retain PHP 4 behavior but had some bugs, will be removed.
* Dynamic functions will no longer be permitted, to be called with static syntax.
Nog meer info hier maar niks over OPcode beveiliging: http://www.php.net/~derick/meeting-notes.htmlquote:Op donderdag 24 mei 2007 10:17 schreef WyriHaximus het volgende:
[..]
Van: http://www.phphacks.com/content/view/49/33/
[..]
Wil dat zeggen dat je per sé <?php ?> moet gaan gebruiken in plaats van <? ?>? Da's een niet zo prettige verandering voor mij, ben inmiddels al jaren gewend om <? ?> te gebruiken.quote:* ASP style <% tags will no longer be supported.
Nee je kunt <% en %> niet meer gebruiken ipv <?php en ?> en <? en ?>quote:Op donderdag 24 mei 2007 10:26 schreef Tuvai.net het volgende:
[..]
Wil dat zeggen dat je per sé <?php ?> moet gaan gebruiken in plaats van <? ?>? Da's een niet zo prettige verandering voor mij, ben inmiddels al jaren gewend om <? ?> te gebruiken.
1 2 3 4 5 6 7 | foreach ($wii as $waa){ echo $waa['wuu']; } ?> |
CTRL Zquote:Op donderdag 24 mei 2007 10:41 schreef Geqxon het volgende:
Of je vernaggeld heel je code qua variabele namen middels een "Replace all" in je teksteditor.
[ code verwijderd ]
quote:Op donderdag 24 mei 2007 10:41 schreef Geqxon het volgende:
Of je vernaggeld heel je code qua variabele namen middels een "Replace all" in je teksteditor.
[ code verwijderd ]
:Y)
1 2 3 4 5 6 7 | foreach ($waa as $waa){ echo "wie".$waa; } ?> |
1 2 3 | Locatie: http://domain/Music/playlist.php?folder=%2FTop+500+Rock+And+Roll+Songs;500 Regelnummer 78, kolom 65:<song path="/Music/Top 500 Rock And Roll Songs/077 - Tom Petty & the Heartbreakers - Runnin' Down a Dream.mp3" title="077 - Tom Petty & the Heartbreakers - Runnin' Down a Dream.mp3"/> |
quote:The function mysql_create_db() is deprecated. It is preferable to use mysql_query() to issue a sql CREATE DATABASE statement instead.
quote:Op donderdag 24 mei 2007 14:24 schreef Tijn het volgende:
Nou, mysql_create_db() lijkt me een goed uitgangspunt.
quote:The function mysql_create_db() is deprecated. It is preferable to use mysql_query() to issue a sql CREATE DATABASE statement instead.
Ja ik weet zelf wel hoe ik een DB moet creëren via phpMyAdmin maar ik wil een formulier maken voor een n00b zodat hij de DB's gelijk online kan creëren ipv eerst inloggen op phpMyAdmin en dan een DB creërenquote:Op donderdag 24 mei 2007 14:24 schreef GI het volgende:
Waarom wil je 300 DB's creeeren ?
SQL statement "Create database bladiebla" zou het moeten doen als je daar de rechten voor hebt. Maar ik kan je nu al adviseren dat dit niet echt een gangbare manier van database onderhoud is.
CREATE TABLEquote:Op donderdag 24 mei 2007 14:35 schreef JohannesPaulus het volgende:
[..]
Ja ik weet zelf wel hoe ik een DB moet creëren via phpMyAdmin maar ik wil een formulier maken voor een n00b zodat hij de DB's gelijk online kan creëren ipv eerst inloggen op phpMyAdmin en dan een DB creëren
(1 DB is ook goed, maar is het dan mogelijk om via zo'n script 300 tabellen te creëren?![]()
Tijn, Piles, toch niet zo of kan ik dat gebruiken![]()
thx mate, het is me geluktquote:
1 2 3 | mysql_query("CREATE TABLE newtable(id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), naam VARCHAR(30))"); ?> |
Dus jij komt vragen om een script waarmee je 300 databases kunt creeren, terwijl je eigenlijk gewoon een tabel aan wilt maken? Volgens mij moet je de basistermen nog eens doornemen...quote:Op donderdag 24 mei 2007 15:01 schreef JohannesPaulus het volgende:
@Tuvai, bedankt voor de tip maar je komt veel geloofwaardiger over als je eerst met een antwoord komt en daarna mij de les leest![]()
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |