abonnement Unibet Coolblue Bitvavo
  zondag 20 mei 2007 @ 19:02:23 #101
161108 JohannesPaulus
Divide and conquer
pi_49579933
Bedankt voor de reacties.
Ik heb het inmiddels opgelost:

// ini_set('error_reporting', E_ALL);

In peace, sons bury their fathers; in war, fathers bury their sons. (484 BC–ca.425 BC, Herodotus)
He who knows when he can fight and when he cannot will be victorious. (c. 544 – 496 BC, Sun Tzu)
  zondag 20 mei 2007 @ 19:04:49 #102
107951 JortK
Immer kwaliteitsposts
pi_49580004
quote:
Op zondag 20 mei 2007 19:02 schreef JohannesPaulus het volgende:
Bedankt voor de reacties.
Ik heb het inmiddels opgelost:

// ini_set('error_reporting', E_ALL);

Zoals wij al zeiden

Misschien makkelijk om in je PHP pagina error_reporting(E_ALL); neer te zetten, en standaard te commenten, en wanneer je wil debuggen de comment weghalen

Dan natuurlijk wel de error_reporting een toontje lager zetten in je PHP.ini
  zondag 20 mei 2007 @ 19:11:16 #103
104583 cyberstalker
Een krachtig neen!
pi_49580217
quote:
Op zondag 20 mei 2007 19:04 schreef JortK het volgende:

[..]

Zoals wij al zeiden

Misschien makkelijk om in je PHP pagina error_reporting(E_ALL); neer te zetten, en standaard te commenten, en wanneer je wil debuggen de comment weghalen

Dan natuurlijk wel de error_reporting een toontje lager zetten in je PHP.ini
Makkelijk: Ja, handig: Nee.

Je kunt beter gewoon error_reporting op E_ALL zetten en zorgen dat er geen foutjes in zitten.
Hope for the best, prepare for the worst.
  zondag 20 mei 2007 @ 19:12:10 #104
107951 JortK
Immer kwaliteitsposts
pi_49580245
Ja maar notices zijn natuurlijk niet echt fouten

* JortK heeft standaard in elke php file error_reporting(E_ALL) aanstaan daar niet van
pi_49580294
quote:
Op zondag 20 mei 2007 19:04 schreef JortK het volgende:

[..]

Zoals wij al zeiden :Y

Misschien makkelijk om in je PHP pagina error_reporting(E_ALL); neer te zetten, en standaard te commenten, en wanneer je wil debuggen de comment weghalen

Dan natuurlijk wel de error_reporting een toontje lager zetten in je PHP.ini :Y
1
2
3
<?php
if (isset($_GET['debug'])) error_reporting(E_ALL);
?>


:Y
  zondag 20 mei 2007 @ 19:18:31 #106
107951 JortK
Immer kwaliteitsposts
pi_49584605
quote:
Op zaterdag 19 mei 2007 17:32 schreef JeRa het volgende:

[..]

Via een externe editor misschien wel (ImageMagick bijvoorbeeld). Het probleem met afbeeldingen van 2-4MB (JPEGs?) is dat de raw pixel info véél groter is dan het bestand zelf. Dan kom je al gauw aan de 20MB, maar door een ander programma binnen PHP aan te roepen omzeil je dat
Klopt Jera, maar er zou toch ook een andere manier moeten zijn om plaatjes te kunnen resizen in PHP zonder al te veel geheugen te gebruiken.

Want als ik 3MB foto wil lezen ben ik toch max 3*8=24MB aan geheugen nodig? zou je denken?

Ik heb 32MB geheugen toegeschreven aan het script maar nog krijg ik een geheugen fout
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 20 mei 2007 @ 21:05:47 #108
107951 JortK
Immer kwaliteitsposts
pi_49584819
quote:
Op zondag 20 mei 2007 21:00 schreef Chandler het volgende:

[..]

Klopt Jera, maar er zou toch ook een andere manier moeten zijn om plaatjes te kunnen resizen in PHP zonder al te veel geheugen te gebruiken.

Want als ik 3MB foto wil lezen ben ik toch max 3*8=24MB aan geheugen nodig? zou je denken?

Ik heb 32MB geheugen toegeschreven aan het script maar nog krijg ik een geheugen fout
Misschien tussendoor de boel flushen?
pi_49589078
ik heb nu deze query:

SELECT * FROM boeking WHERE aankomstdatum>=DATE_SUB(NOW(), INTERVAL 14 DAY) AND status = '1'

maar ik wil alles TOT 14 dagen na de datum van vandaag eruit halen , en niet na 14 dagen. De oplossing zal wel simpel zijn , maar ik ben te moe om helder na te denken en ik moet het morgen hebben Kan iemand helpen?
pi_49589117
WHERE aankomstdatum <= DATE_SUB

?
pi_49589253
quote:
Op zondag 20 mei 2007 23:01 schreef Geqxon het volgende:
WHERE aankomstdatum <= DATE_SUB

?
volgens mij pakt ie dan alles van 14 dagen voor de datum van vandaag, dus het verleden in, ik moet de toekomst in.
  zondag 20 mei 2007 @ 23:14:44 #112
107951 JortK
Immer kwaliteitsposts
pi_49589566
WHERE aankomstdatum >= DATE_SUB dan ?

[ Bericht 2% gewijzigd door JortK op 20-05-2007 23:23:15 ]
pi_49589785
quote:
Op zondag 20 mei 2007 23:14 schreef JortK het volgende:
WHERE aankomstdatum => DATE_SUB dan ?
dan krijg ik een fout , => bestaat dat wel?
  zondag 20 mei 2007 @ 23:23:10 #114
84926 WyriHaximus
Release the hounds smithers!
pi_49589823
quote:
Op zondag 20 mei 2007 23:22 schreef broodmonkeh het volgende:

[..]

dan krijg ik een fout , => bestaat dat wel?
Probeer >= eens ipv =>
phluphy for president!
  zondag 20 mei 2007 @ 23:23:44 #115
107951 JortK
Immer kwaliteitsposts
pi_49589842
quote:
Op zondag 20 mei 2007 23:22 schreef broodmonkeh het volgende:

[..]

dan krijg ik een fout , => bestaat dat wel?
Ik heb m aangepast hij moet andersom staan het word laat

EDIT: WyriHaximus is zo te zien nog wel wakker
pi_49589877
quote:
Op zondag 20 mei 2007 23:23 schreef WyriHaximus het volgende:

[..]

Probeer >= eens ipv =>
zoals je kon zien stond dat al in mijn query die ik al had , en die pakt alles na 14 dagen na de datum van vandaag. ik moet tot 14 dagen hebben.
  zondag 20 mei 2007 @ 23:25:38 #117
84926 WyriHaximus
Release the hounds smithers!
pi_49589914
quote:
Op zondag 20 mei 2007 23:23 schreef JortK het volgende:

[..]

Ik heb m aangepast hij moet andersom staan het word laat

EDIT: WyriHaximus is zo te zien nog wel wakker
Haha ben lekker aan het deven. Moet eingelijk nog ff weten hoe ik de stand van de zon op een plaatje laat zien maar dat komt later wel eerst andere dingen .
phluphy for president!
  zondag 20 mei 2007 @ 23:26:47 #118
84926 WyriHaximus
Release the hounds smithers!
pi_49589960
quote:
Op zondag 20 mei 2007 23:24 schreef broodmonkeh het volgende:

[..]

zoals je kon zien stond dat al in mijn query die ik al had , en die pakt alles na 14 dagen na de datum van vandaag. ik moet tot 14 dagen hebben.
Ow heh niet eens gelezen , zag dat je foutje had en dacht hij moet dat niet anders om . Ff kijken er naar.

EDIT: Is het field een UNIXTIMESTAMP of niet?
phluphy for president!
pi_49590155
quote:
Op zondag 20 mei 2007 23:26 schreef WyriHaximus het volgende:

[..]

Ow heh niet eens gelezen , zag dat je foutje had en dacht hij moet dat niet anders om . Ff kijken er naar.

EDIT: Is het field een UNIXTIMESTAMP of niet?
nope gewoon 0000-00-00 formaat zeg maar
  zondag 20 mei 2007 @ 23:33:26 #120
84926 WyriHaximus
Release the hounds smithers!
pi_49590183
quote:
Op zondag 20 mei 2007 23:26 schreef WyriHaximus het volgende:

[..]

Ow heh niet eens gelezen , zag dat je foutje had en dacht hij moet dat niet anders om . Ff kijken er naar.

EDIT: Is het field een UNIXTIMESTAMP of niet?
Mocht het een UNIXTIMESTAMP zijn dan kan je zoiets doen ena nders moet je ff converters toevoegen .
1SELECT * FROM boeking WHERE (UNIX_TIMESTAMP(aankomstdatum) >= UNIX_TIMESTAMP AND UNIX_TIMESTAMP(aankomstdatum) <= (UNIX_TIMESTAMP+1209600)) AND status = '1'

1209600 zou het aantal secconden moeten zijn in 2 weken .

EDIT:
quote:
Op zondag 20 mei 2007 23:32 schreef broodmonkeh het volgende:

[..]

nope gewoon 0000-00-00 formaat zeg maar
Ow erhm sec

EDIT2: Query ff aangepast, hoop dat je er wat aan hebt .
phluphy for president!
pi_49590568
bedankt! ik krijg alleen deze error:

Unknown column 'UNIX_TIMESTAMP' in 'where clause'
  zondag 20 mei 2007 @ 23:45:41 #122
84926 WyriHaximus
Release the hounds smithers!
pi_49590610
quote:
Op zondag 20 mei 2007 23:44 schreef broodmonkeh het volgende:
bedankt! ik krijg alleen deze error:

Unknown column 'UNIX_TIMESTAMP' in 'where clause'
Ow oops:
1SELECT * FROM boeking WHERE (UNIX_TIMESTAMP(aankomstdatum) >= UNIX_TIMESTAMP() AND UNIX_TIMESTAMP(aankomstdatum) <= (UNIX_TIMESTAMP()+1209600)) AND status = '1'
phluphy for president!
pi_49590856
quote:
Op zondag 20 mei 2007 23:45 schreef WyriHaximus het volgende:

[..]

Ow oops:
[ code verwijderd ]
bedankt!!!
  zondag 20 mei 2007 @ 23:55:46 #124
84926 WyriHaximus
Release the hounds smithers!
pi_49590917
quote:
Op zondag 20 mei 2007 23:53 schreef broodmonkeh het volgende:

[..]

bedankt!!!
Np . Je snapt trouwens hoe het werkt? Zoniet dan leg ik het wel ff uit .
phluphy for president!
pi_49594894
quote:
Op zondag 20 mei 2007 21:05 schreef JortK het volgende:

[..]

Misschien tussendoor de boel flushen?
Je zou denken dat dat zou werken, maar helaas... Ik ga morgen eens een testje bouwen om te kijken hoeveel geheugen er gebruikt wordt!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_49602952
quote:
Op zondag 20 mei 2007 23:55 schreef WyriHaximus het volgende:

[..]

Np . Je snapt trouwens hoe het werkt? Zoniet dan leg ik het wel ff uit .
jaa ongeveer wel , hij pakt de datum uit de database en zet die om naar unix timestamp , en zo berekend ie het. toch ?
  maandag 21 mei 2007 @ 13:47:15 #127
107951 JortK
Immer kwaliteitsposts
pi_49605363
quote:
Op maandag 21 mei 2007 07:59 schreef Chandler het volgende:

[..]

Je zou denken dat dat zou werken, maar helaas... Ik ga morgen eens een testje bouwen om te kijken hoeveel geheugen er gebruikt wordt!
Het kan natuurlijk ook misschien zijn dat er ergens een loopje inzit wat heel het geheugen volpompt
pi_49610861
Onmogelijk
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 21 mei 2007 @ 16:40:29 #129
107951 JortK
Immer kwaliteitsposts
pi_49611996
quote:
Op maandag 21 mei 2007 16:13 schreef Chandler het volgende:
Onmogelijk
Sorry hoor

Iemand nog een mooi scriptje wat RSS feeds parst zodat ik deze kan posten als een blog post?
pi_49612865
Situatie: Ik heb 80 getallen (1 - 80) in een dropdown box staan.

In de database heb ik in een veld het getal 50 staan (veldnaam is bijv. "Getal") . Nu wil ik dat deze niet wordt weergeven in de dropdown box. Kan iemand uitleggen hoe ik dit simpel kan oplossen? Een stukje code of uitleg is genoeg , ik wil het namelijk zelf een beetje uitvogelen maar ik weet niet waar ik moet beginnen
  maandag 21 mei 2007 @ 17:08:56 #131
107951 JortK
Immer kwaliteitsposts
pi_49613125
quote:
Op maandag 21 mei 2007 17:02 schreef broodmonkeh het volgende:
Situatie: Ik heb 80 getallen (1 - 80) in een dropdown box staan.

In de database heb ik in een veld het getal 50 staan (veldnaam is bijv. "Getal") . Nu wil ik dat deze niet wordt weergeven in de dropdown box. Kan iemand uitleggen hoe ik dit simpel kan oplossen? Een stukje code of uitleg is genoeg , ik wil het namelijk zelf een beetje uitvogelen maar ik weet niet waar ik moet beginnen
Dit kan je het beste oplossen in je query

1
2
3
SELECT Getal
FROM tabel
WHERE Getal <> 50


Hiermee haal je alle getallen op behalve 50

Bedoel je zoiets?
pi_49613344
quote:
Op maandag 21 mei 2007 17:08 schreef JortK het volgende:

[..]

Dit kan je het beste oplossen in je query
[ code verwijderd ]

Hiermee haal je alle getallen op behalve 50

Bedoel je zoiets?
jaa zoiets maar er staan ook meerdere velden in en het kan ook voorkomen dat bijv. alle 80 getallen in de database staan en niet weergeven mogen worden.
  maandag 21 mei 2007 @ 17:15:39 #133
107951 JortK
Immer kwaliteitsposts
pi_49613404
quote:
Op maandag 21 mei 2007 17:14 schreef broodmonkeh het volgende:

[..]

jaa zoiets maar er staan ook meerdere velden in en het kan ook voorkomen dat bijv. alle 80 getallen in de database staan en niet weergeven mogen worden.
Ja dan zul je toch wat meer info moeten geven om te vertellen op basis van welke criteria een gebruiker welke getallen mag zien
pi_49614499
iemand een idee waarom php hier een foutmelding op geeft...:
1
2
3
<?php
echo("string $_SERVER['REMOTE_ADDR'] verder met string");
?>

foutmelding:
quote:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in test.php on line 2
maar dit:
1
2
3
4
<?php
$ip 
$_SERVER['REMOTE_ADDR'];
echo(
"string $ip verder met string");
?>

werkt wel??
wat is het verschil tussen die 2 variabelen????
pi_49615583
Gewoon een syntaxiskwestie. Wil je het in één regel hebben doe dan dit:

1
2
3
<?php
echo "string ".$_SERVER['REMOTE_ADDR']." verder met string";
?>
  maandag 21 mei 2007 @ 18:56:03 #136
85514 ralfie
!Yvan eht nioj
pi_49616614
Om variabelen met []'s moet je {} zetten

1
2
3
<?php
echo "string {$_SERVER['REMOTE_ADDR']} verder met string";
?>
pi_49617667
quote:
Op maandag 21 mei 2007 17:14 schreef broodmonkeh het volgende:

[..]

jaa zoiets maar er staan ook meerdere velden in en het kan ook voorkomen dat bijv. alle 80 getallen in de database staan en niet weergeven mogen worden.
Dan zou ik alle 80 getallen in een array zetten, en een andere array maken met de getallen die niet voor mogen komen. Daarna kan je door je ene array heenloopen en die met in_array checken tegen de andere array en de foute waardes uit je ene array halen (of een derde array maken met de goede waardes)...

Daarnaast vraag ik me af waarom je 1 - 80 in een database zou zetten?
pi_49618220
quote:
Op maandag 21 mei 2007 19:25 schreef Xcalibur het volgende:

[..]

Dan zou ik alle 80 getallen in een array zetten, en een andere array maken met de getallen die niet voor mogen komen. Daarna kan je door je ene array heenloopen en die met in_array checken tegen de andere array en de foute waardes uit je ene array halen (of een derde array maken met de goede waardes)...

Daarnaast vraag ik me af waarom je 1 - 80 in een database zou zetten?
Ik zal het ff goed en uitgebreid uitleggen deze keer. Ik ben bezig met een boekingsregistratiesysteem voor een camping. Hier zijn dus iets van 80 staanplaatsen (precieze aantal weet ik niet , maar daar komt het in de buurt). Nu heb ik zeg maar deze opbouw in tabellen:

Klant
Boeking
Staanplaats

Klant wordt geregistreerd en aan de klant kunnen boekingen toegevoegd worden , en aan de boeking kunnen weer staanplaatsen toegevoegd worden. De opbouw van de tabel staanplaats ziet er als volgt uit:

ID
BoekingID
Staanplaatsnr

Als de camping nu een staanplaats wil toevoegen aan de camping wil ik dat alleen de beschikbare staanplaatsen in een dropdown box komen. Misschien is er wel een simpelere manier voor maar dan hoor ik het graag
  maandag 21 mei 2007 @ 19:37:16 #139
107951 JortK
Immer kwaliteitsposts
pi_49618240
quote:
Op maandag 21 mei 2007 19:25 schreef Xcalibur het volgende:

[..]

Dan zou ik alle 80 getallen in een array zetten, en een andere array maken met de getallen die niet voor mogen komen. Daarna kan je door je ene array heenloopen en die met in_array checken tegen de andere array en de foute waardes uit je ene array halen (of een derde array maken met de goede waardes)...

Daarnaast vraag ik me af waarom je 1 - 80 in een database zou zetten?
You read my mind
  maandag 21 mei 2007 @ 20:37:31 #140
84926 WyriHaximus
Release the hounds smithers!
pi_49621204
quote:
Op maandag 21 mei 2007 12:42 schreef broodmonkeh het volgende:

[..]

jaa ongeveer wel , hij pakt de datum uit de database en zet die om naar unix timestamp , en zo berekend ie het. toch ?
Ja idd, op ze simpelst wel ja. Hij pakt de huidige datem en zegt dat de datem in de tabel minimaal die datum moet hebben em pakt 14 dagen voor uit en zegt dat de datum daar niet voor bij mag liggen . Zoek de functies maar eens op in de mysql docs: http://dev.mysql.com/
phluphy for president!
  maandag 21 mei 2007 @ 20:42:04 #141
84926 WyriHaximus
Release the hounds smithers!
pi_49621401
quote:
Op maandag 21 mei 2007 17:48 schreef mschol het volgende:
iemand een idee waarom php hier een foutmelding op geeft...:
[ code verwijderd ]

foutmelding:
[..]

maar dit:
[ code verwijderd ]

werkt wel??
wat is het verschil tussen die 2 variabelen????
Je moet de ' jes weg halen, of { en } er om heen zetten zoals hier boven. Maar 2e stukkie code is eingelijk het netst :).
1
2
3
<?php
echo "string $_SERVER[REMOTE_ADDR] verder met string";
?>


1
2
3
<?php
echo "string " $_SERVER['REMOTE_ADDR'] . " verder met string";
?>
phluphy for president!
pi_49626521
quote:
Op maandag 21 mei 2007 20:42 schreef WyriHaximus het volgende:

[..]

Je moet de ' jes weg halen, of { en } er om heen zetten zoals hier boven. Maar 2e stukkie code is eingelijk het netst .
[ code verwijderd ]


[ code verwijderd ]
Interessant artikel over quotes en performance in PHP.

  maandag 21 mei 2007 @ 22:53:09 #143
84926 WyriHaximus
Release the hounds smithers!
pi_49627290
quote:
Yeah klopt " geeft je extra opties zoals "balbla $str jaskj" daar de waarde van $str er tussen worden gezet terwijl bij ' het niet geparsed zal worden en gewoon als $str in de string staan . Het is beter om alleen " te gebruiken als het nodig is en anders ' maar je zal er niet dood aan gaan. Het is goed als je er rekening mee houd en er aan denkt maar verwacht niet dat je scripts gelijk 10x sneller worden .
phluphy for president!
pi_49627665
quote:
intressant

nog iets: ik heb eens zitten googlen op een "veilig" inlog systeem via php+sessies
kwam ik op dit script uit:
http://e-programmeur.e-dot.nl/topic/45924
alleen lijkt het mij zo overdreven veel, dat zou toch makkelijker moet kunnen, zonder een challenge-response systeem?
overigens vind ik persoonlijk dat ik erg weinig tutorials vind met een session login m.b.v. php (en met een remember functie kan ik ze al helemaal niet vinden)
pi_49629423
quote:
Op maandag 21 mei 2007 23:01 schreef mschol het volgende:

[..]

intressant

nog iets: ik heb eens zitten googlen op een "veilig" inlog systeem via php+sessies
kwam ik op dit script uit:
http://e-programmeur.e-dot.nl/topic/45924
alleen lijkt het mij zo overdreven veel, dat zou toch makkelijker moet kunnen, zonder een challenge-response systeem?
overigens vind ik persoonlijk dat ik erg weinig tutorials vind met een session login m.b.v. php (en met een remember functie kan ik ze al helemaal niet vinden)
Ik heb er een paar maanden terug eens een uurtje over nagedacht, en kwam toen tot hetvolgende systeem:

Index.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
    
// TRY TO SOMEHOW RECEIVE THE USERNAME AND PASSWORD
    
if (isset($_POST['action'])){
        
$action $_POST['action'];
        
        switch(
$action){
            case 
"login":
                
$username_to_try     $_POST['username'];
                
$password_to_try    md5($_POST['password']);
            break;
            case 
"register";
                
$newusername        $_POST['username'];
                
$newpassword        md5($_POST['password']);
                
$newpasswordrepeat    md5($_POST['passwordrepeat']);
                
$newemailaddress    $_POST['emailaddress'];
            
                if (
newUser($newusername$newpassword$newpasswordrepeat$newemailaddress)){
                    
$username_to_try $newusername;
                    
$password_to_try $newpassword;
                }
            break;
        }
    }
    else if (isset(
$_COOKIE['UsernameCookie']) && isset($_COOKIE['PasswordCookie'])){
        
$username_to_try $_COOKIE['UsernameCookie'];
        
$password_to_try $_COOKIE['PasswordCookie'];
    }
    else if (isset(
$_SESSION['UsernameSession']) && isset($_SESSION['PasswordSession'])){
        
$username_to_try $_SESSION['UsernameSession'];
        
$password_to_try $_SESSION['PasswordSession'];
    }

    
// CHECK USERNAME AND PASSWORD IF REQUESTED
    
if (isset($username_to_try) && isset($password_to_try)){

[.
database check.]

            
$_SESSION['UsernameSession']     = $username_to_try;
            
$_SESSION['PasswordSession']    = $password_to_try;
        
            
setcookie("UsernameCookie"$username_to_trytime()+604800);
            
setcookie("PasswordCookie"$password_to_trytime()+604800);

            
header("Location: userpage.php");

        }
?>


Deze sessie / cookie wordt op elke pagina utigelezen, en als dat fout is wordt je naar weer naar index.php gestuurd.

Totaal uit het hoofd verzonnen, er kunnen problemen in zitten, en beschouw het niet als heilig. Maar het werkt

[ Bericht 11% gewijzigd door Geqxon op 21-05-2007 23:56:28 (Typefout.) ]
pi_49629782
Veilige scripts komen in feite maar op twee dingen neer: SQL injection en logica. Persoonlijk vind ik dat ELK variabel dat gemanipuleerd kan worden door user input afgeschermd moet worden, waaronder ook de variabelen die niet direct in een SQL query gebruikt worden. Ook encryptie vind ik persoonlijk een hele belangrijke. Ik zie het maar al te vaak: websites die een username/userID en een wachtwoord in een cookie zetten waarmee een gebruiker ingelogd blijft. Op zich niks mis mee, maar zorg dan wel dat dat wachtwoord geëncrypt word. MD5 en SHA1/2 zijn daar gewoon perfect voor en kinderlijk eenvoudig te gebruiken.
  dinsdag 22 mei 2007 @ 00:49:24 #147
84926 WyriHaximus
Release the hounds smithers!
pi_49630803
quote:
Op dinsdag 22 mei 2007 00:02 schreef Tuvai.net het volgende:
Veilige scripts komen in feite maar op twee dingen neer: SQL injection en logica. Persoonlijk vind ik dat ELK variabel dat gemanipuleerd kan worden door user input afgeschermd moet worden, waaronder ook de variabelen die niet direct in een SQL query gebruikt worden. Ook encryptie vind ik persoonlijk een hele belangrijke. Ik zie het maar al te vaak: websites die een username/userID en een wachtwoord in een cookie zetten waarmee een gebruiker ingelogd blijft. Op zich niks mis mee, maar zorg dan wel dat dat wachtwoord geëncrypt word. MD5 en SHA1/2 zijn daar gewoon perfect voor en kinderlijk eenvoudig te gebruiken.
Dat plus dat je alles wat van de client komt niet kan vertrouwen en er van uit moet gaan dat het foutief is, dan kom je heel erg ver.

Nog een kleine tip: Probeer je eigen scripts te hacken en kijk of je langs je eigen beveiliging kan komen. Of vraag een vriend of kennis met kennis van zaken, buitenstaanders hebben vaak een frisse kijk en zullen eerder dingen tegen komen dan jij omdat je snel genoeg dood staart of denkt dat iets wel veilig is. Je komt dan nog wel eens dingen tegen die niet helemaal kloppen .
phluphy for president!
pi_49630955
quote:
Op dinsdag 22 mei 2007 00:49 schreef WyriHaximus het volgende:

[..]

Dat plus dat je alles wat van de client komt niet kan vertrouwen en er van uit moet gaan dat het foutief is, dan kom je heel erg ver.

Nog een kleine tip: Probeer je eigen scripts te hacken en kijk of je langs je eigen beveiliging kan komen. Of vraag een vriend of kennis met kennis van zaken, buitenstaanders hebben vaak een frisse kijk en zullen eerder dingen tegen komen dan jij omdat je snel genoeg dood staart of denkt dat iets wel veilig is. Je komt dan nog wel eens dingen tegen die niet helemaal kloppen .
Ik herinner me nog de tijd dat ik $var gebruikte in plaats van $_GET['var'] / $_POST['var'] / $_COOKIE['var'] / $_COOKIE['var'] en niks afschermde met mysql_real_escape_string() en intval(). En ik me maar afvragen hoe al die mensen hunzelf allemaal Administrator van m'n forum konden maken.

Maarja, wel toendertijd een hoop van geleerd.
  dinsdag 22 mei 2007 @ 01:07:48 #149
84926 WyriHaximus
Release the hounds smithers!
pi_49631162
quote:
Op dinsdag 22 mei 2007 00:56 schreef Tuvai.net het volgende:

[..]

Ik herinner me nog de tijd dat ik $var gebruikte in plaats van $_GET['var'] / $_POST['var'] / $_COOKIE['var'] / $_COOKIE['var'] en niks afschermde met mysql_real_escape_string() en intval(). En ik me maar afvragen hoe al die mensen hunzelf allemaal Administrator van m'n forum konden maken.

Maarja, wel toendertijd een hoop van geleerd.
Ja hier ook. En het dan raar vinden dan je scripts ineens niet meer werken omdat je host register_globals uitgezet had .

Idd je leert heel veel met vallen en opstaan, maakt je ook meer bewust wat de consequenties zijn van dat soort foutjes dan met een boek want daar staat het maar .
phluphy for president!
pi_49638552
quote:
Op maandag 21 mei 2007 19:36 schreef broodmonkeh het volgende:
Als de camping nu een staanplaats wil toevoegen aan de camping wil ik dat alleen de beschikbare staanplaatsen in een dropdown box komen. Misschien is er wel een simpelere manier voor maar dan hoor ik het graag

Met een (LEFT OUTER?) JOIN op de tabel met boekingen. Dan kan je alle records uit je tabel halen die geen overeenkomstig record in de andere tabel hebben

Ik zou bij de boeking ook een begin- en einddatum opslaan trouwens, zodat staanplaatsen ook automatisch vrijkomen als de boeking afgelopen is... maar dat is misschien stap 2
pi_49641227
quote:
Op dinsdag 22 mei 2007 11:43 schreef Xcalibur het volgende:

[..]


Met een (LEFT OUTER?) JOIN op de tabel met boekingen. Dan kan je alle records uit je tabel halen die geen overeenkomstig record in de andere tabel hebben

Ik zou bij de boeking ook een begin- en einddatum opslaan trouwens, zodat staanplaatsen ook automatisch vrijkomen als de boeking afgelopen is... maar dat is misschien stap 2
dat laatste heb ik al . Maar bedankt voor je antwoord ik ga dat JOIN even uitzoeken!
pi_49643498
Goeiemiddag

Ik zoek een php script waarmee ik queries in een database kan opzoeken en eventueel aanpassen

soort klantenbeheer zeg maar

Thnx vast
Op maandag 5 april 2010 18:35 schreef DutchRodent het volgende:
jij bent stoer,
pi_49643911
quote:
Op dinsdag 22 mei 2007 13:57 schreef WalkingDisaster het volgende:
Goeiemiddag

Ik zoek een php script waarmee ik queries in een database kan opzoeken en eventueel aanpassen

soort klantenbeheer zeg maar

Thnx vast
je wilt queries opzoeken in een database

kan je jezelf even verduidelijken door je situatie uit te leggen..
pi_49643971
quote:
Op dinsdag 22 mei 2007 14:07 schreef mschol het volgende:

[..]

je wilt queries opzoeken in een database

kan je jezelf even verduidelijken door je situatie uit te leggen..
Sorry, ik heb een script dat "klanten" toevoegd aan eendatabase, nu zoek ik een script waarmee ik de database kan doorzoeken, en eventueel gevonden klanten kan wijzigen ofzo
Op maandag 5 april 2010 18:35 schreef DutchRodent het volgende:
jij bent stoer,
pi_49650053
quote:
Op dinsdag 22 mei 2007 14:09 schreef WalkingDisaster het volgende:

[..]

Sorry, ik heb een script dat "klanten" toevoegd aan eendatabase, nu zoek ik een script waarmee ik de database kan doorzoeken, en eventueel gevonden klanten kan wijzigen ofzo
even heel simpel:
klant_zoeken.html
1
2
3
4
5
6
7
8
9
10
<html>
<head>
</head>
<body>
<form action="klanten.php" method="post">
<input type="text" name="naam">
<input type="submit">
<input type="hidden" name="sid" value="729016f035787bdbd61fb8c1d1fac43b" /></form>
</body>
</html>


klanten.php
1
2
3
4
5
6
7
8
9
10
11
12
<?php
mysql_connect
();
mysql_select_db();
$klant_naam mysql_real_escape_string($_POST['naam']);
$result mysql_query("SELECT * from tabel WHERE naam LIKE '%$klant_naam%'");
echo(
"<tabel>");
while(
$rij mysql_fetch_assoc($result))
{
 echo(
"<tr><td>$rij['naam']</td></tr>");
}
echo(
"</tabel>");
?>


uiteraard zelf database naam, tabel naam e.d. invullen..
pi_49651761
ok ga ik ff mee stoeie thnx
Op maandag 5 april 2010 18:35 schreef DutchRodent het volgende:
jij bent stoer,
pi_49703390
Ik heb gemerkt dat het verwerken van een foto dmv imagecreatfromjpeg (bijv) niet altijd werkt.. afbeeldingen die bijv. camera informatie erin hebben staan geven een error. iets met geen valid file ofzo.. is daar iets aan te doen? want het staat zo knullig dat je eerst het jpeggie opnieuw moet opslaan voor hij het wel doet
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_49703769
quote:
Op dinsdag 22 mei 2007 14:09 schreef WalkingDisaster het volgende:

[..]

Sorry, ik heb een script dat "klanten" toevoegd aan eendatabase, nu zoek ik een script waarmee ik de database kan doorzoeken, en eventueel gevonden klanten kan wijzigen ofzo
Is phpMyAdmin iets voor je?
  FOK!-Schrikkelbaas woensdag 23 mei 2007 @ 22:15:05 #159
1972 Swetsenegger
Egocentrische Narcist
pi_49704426
quote:
Op woensdag 23 mei 2007 21:52 schreef Desdinova het volgende:
Ik heb gemerkt dat het verwerken van een foto dmv imagecreatfromjpeg (bijv) niet altijd werkt.. afbeeldingen die bijv. camera informatie erin hebben staan geven een error. iets met geen valid file ofzo.. is daar iets aan te doen? want het staat zo knullig dat je eerst het jpeggie opnieuw moet opslaan voor hij het wel doet
Volgens mij heeft dat niet met exif info te maken, maar met CMYK en RGB jpg's
pi_49704524
quote:
Op woensdag 23 mei 2007 22:15 schreef Swetsenegger het volgende:

[..]

Volgens mij heeft dat niet met exif info te maken, maar met CMYK en RGB jpg's
ohhhh dat zou ook kunnen.. ik ga s ff googlen.

gevonden idd.. werkt niet, kan GD niet aan (2.0 ook niet).

Nasty.
As a rule, I never touch anything more sophisticated and delicate than myself.
  FOK!-Schrikkelbaas woensdag 23 mei 2007 @ 22:28:08 #161
1972 Swetsenegger
Egocentrische Narcist
pi_49704980
Een andere vraag. Ik ben momenteel een universeel cms'je aan het bouwen waarvoor ik al wat kleine klantjes heb. Een daarvan is een webdesignertje die goed met html is, maar niet met scripting.

Maar ik loop nu theoretisch het 'gevaar' dat hij mijn cmsje oppakt en ergens anders neerzet. Wat templates aanpassen en hoppa. Het draait natuurlijk allemaal op virtuele domeinen dus er is geen kans om serverside te gaan obfuscaten of iets dergelijks.

Nu kan ik natuurlijk ergens in de code een licentie file importeren vanaf mijn eigen domein die dat matched met het domein waar het cms draait ofzo, maar iemand met een beetje script kennis weet dat uiteindelijk wel te vinden.

Iemand een idee hoe je redelijk verstopt een licentie in je code kan proppen?
  FOK!-Schrikkelbaas woensdag 23 mei 2007 @ 22:29:35 #162
1972 Swetsenegger
Egocentrische Narcist
pi_49705048
quote:
Op woensdag 23 mei 2007 22:17 schreef Desdinova het volgende:

[..]

ohhhh dat zou ook kunnen.. ik ga s ff googlen.

gevonden idd.. werkt niet, kan GD niet aan (2.0 ook niet).

Nasty.
Over het algemeen niet zo'n probleem omdat 99% van de jpg's RGB zijn, maar ik ben daar ook wel tegen aangelopen met de zakelijk website. Productfoto's zijn namelijk zeer highres CMYK's.
pi_49706011
quote:
Op woensdag 23 mei 2007 22:28 schreef Swetsenegger het volgende:
Een andere vraag. Ik ben momenteel een universeel cms'je aan het bouwen waarvoor ik al wat kleine klantjes heb. Een daarvan is een webdesignertje die goed met html is, maar niet met scripting.

Maar ik loop nu theoretisch het 'gevaar' dat hij mijn cmsje oppakt en ergens anders neerzet. Wat templates aanpassen en hoppa. Het draait natuurlijk allemaal op virtuele domeinen dus er is geen kans om serverside te gaan obfuscaten of iets dergelijks.

Nu kan ik natuurlijk ergens in de code een licentie file importeren vanaf mijn eigen domein die dat matched met het domein waar het cms draait ofzo, maar iemand met een beetje script kennis weet dat uiteindelijk wel te vinden.

Iemand een idee hoe je redelijk verstopt een licentie in je code kan proppen?
Je complete sourcecode encrypten?

http://www.sourceguardian.com/
  FOK!-Schrikkelbaas woensdag 23 mei 2007 @ 23:00:13 #164
1972 Swetsenegger
Egocentrische Narcist
pi_49706334
In de regel moeten encrypted sources weer decrypted worden. En DAT vereist controlle over de server, die ik niet heb.
pi_49706338
Let op met die PHP 'encrypters'. Het is voor iemand met verstand belachelijk simpel om de PHP opcodes te onderscheppen en alsnog je beveiliging te omzeilen
  woensdag 23 mei 2007 @ 23:01:30 #166
107951 JortK
Immer kwaliteitsposts
pi_49706393
Dat is volgens mij niet echt waar hij naar op zoek is, hij wil voorkomen dat iemand 1 versie van de software door meerdere klanten laat gebruiken

Ik denk dat je een check moet maken met een sleutel die je in je database zet + URL die gebruikt wordt, en die comparen met een value in je eigen database, wil je het behoorlijk zeker maken
  woensdag 23 mei 2007 @ 23:04:07 #167
98259 mstr
Een jonge God!
pi_49706521
quote:
Op woensdag 23 mei 2007 23:00 schreef mstr het volgende:
Wij hebben een aantal vragen op school waar we query's voor moeten schrijven zodat je de de goede uitkomst krijgt.

Ja dit is huiswerk en het lukt me zelf niet

De 6 vragen waar ik niet uitkom
1. Soms wordt een nummer maar door een aantal artiesten gecoverd. Soms hebben nummers dezelfde titel, maar lijken ze niet op elkaar. Maak een overzichtje van titels, gezongen door meerdere artiesten, die meer dan twee keer in de lijst van 2005 voorkomen. (Gebruik hier zeker een subquery!)
Zet steeds bij elke titel, de hoogste genoteerde plaat bovenaan.

Het gene wat eruit zou moeten komen:
[afbeelding]

2. Hoeveel artiesten staan er in de top 2000 van 2005? (Dit is een lastige!)
Het gene wat eruit zou moeten komen:
[afbeelding]

3. Paul McCartney heeft naast vele hits met de Beatles en zijn band "Wings", ook deutten opgenomen. Maak een query die alleen deze deutten (de hits samen met de band Wings worden uitgesloten) weergeeft. Raadpleeg de stemlijst.
Het gene wat eruit zou moeten komen:
[afbeelding]

4. Carole King vertolkte het nummer 'You've got a friend'.
Welk nummer duurt precies even lang als dit nummer? (Tip: Gebruik subquery!)
Het gene wat eruit zou moeten komen:
[afbeelding]

5. Welke nummers staan in 2005 op dezelfde plek als het jaar ervoor?
Het gene wat eruit zou moeten komen:
[afbeelding]

6. Ondanks het enorme aantal noteringen, bleven er in 2005 toch Beatle-nummers buiten de Top2000, ondanks de vermelding op de stemlijst.
Welke waren dat? En uit welk jaar kwamen die?
Het gene wat eruit zou moeten komen:
[afbeelding]
Past hier eigenlijk goed.
Alvast bedankt.

De database, was even vergeten te posten.
Alleen de server is down
http://oplaaien.mstr.nl/zooi/top2000_2005%20nieuw.mdb
pi_49706579
@mstr

Wat heb je zelf al geprobeerd en waar loop je op vast?
  FOK!-Schrikkelbaas woensdag 23 mei 2007 @ 23:07:00 #169
1972 Swetsenegger
Egocentrische Narcist
pi_49706639
quote:
Op woensdag 23 mei 2007 23:00 schreef JeRa het volgende:
Let op met die PHP 'encrypters'. Het is voor iemand met verstand belachelijk simpel om de PHP opcodes te onderscheppen en alsnog je beveiliging te omzeilen
Ik zie bij die sourcegardian ook dat er geen serverside sleutel is en er wordt een sleutelbestand bij de sources geplaatst. Volgens mij wordt het dan nog redelijk eenvoudig om de boel te decrypten
quote:
Op woensdag 23 mei 2007 23:01 schreef JortK het volgende:
Dat is volgens mij niet echt waar hij naar op zoek is, hij wil voorkomen dat iemand 1 versie van de software door meerdere klanten laat gebruiken
Precies, met source encrypting kan iemand nog de volledig encrypted source ergens anders neergooien. Zit je hooguit nog met templates
quote:
Ik denk dat je een check moet maken met een sleutel die je in je database zet + URL die gebruikt wordt, en die comparen met een value in je eigen database, wil je het behoorlijk zeker maken
Maar een beetje slimme jongen sloopt die compare-code gewoon uit de source.... weg beveiliging.
  woensdag 23 mei 2007 @ 23:07:46 #170
98259 mstr
Een jonge God!
pi_49706665
quote:
Op woensdag 23 mei 2007 23:05 schreef JeRa het volgende:
@mstr

Wat heb je zelf al geprobeerd en waar loop je op vast?
Ik heb al téveel geprobeerd, heb er al 1½ uur aan besteed zonder maar enig resultaat
  woensdag 23 mei 2007 @ 23:11:52 #171
107951 JortK
Immer kwaliteitsposts
pi_49706815
quote:
Op woensdag 23 mei 2007 23:07 schreef Swetsenegger het volgende:

[..]

Ik zie bij die sourcegardian ook dat er geen serverside sleutel is en er wordt een sleutelbestand bij de sources geplaatst. Volgens mij wordt het dan nog redelijk eenvoudig om de boel te decrypten
[..]

Precies, met source encrypting kan iemand nog de volledig encrypted source ergens anders neergooien. Zit je hooguit nog met templates
[..]

Maar een beetje slimme jongen sloopt die compare-code gewoon uit de source.... weg beveiliging.
Heel simpel, als je de compare niet kunt maken met je applicatie geef je de melding License truncated
pi_49707375
quote:
Op woensdag 23 mei 2007 23:07 schreef mstr het volgende:

[..]

Ik heb al téveel geprobeerd, heb er al 1½ uur aan besteed zonder maar enig resultaat
En wat lukt je niet?
pi_49707423
quote:
Op woensdag 23 mei 2007 23:11 schreef JortK het volgende:

[..]

Heel simpel, als je de compare niet kunt maken met je applicatie geef je de melding License truncated
De compare hóeft niet gemaakt te worden als een slimme jongen die code gewoon uit de app sloopt. Dan kun je ook wel voorkomen dat je zo'n melding krijgt.
  woensdag 23 mei 2007 @ 23:37:16 #174
98259 mstr
Een jonge God!
pi_49707901
quote:
Op woensdag 23 mei 2007 23:24 schreef JeRa het volgende:

[..]

En wat lukt je niet?
De juiste querie maken
pi_49708363
Swets: Elk klant een soort van ID Key / Productcode meegeven en bij installatie door een soot van white list gaan die checkt of het wel een legale versie is die geïnstalleerd word?

Of een applicatie maken die op JOUW server draait waar mensen inloggen. Dat is de strategie van het bedrijf waar ik nu voor werk. Die hebben in feite zelf de servers en de software, altijd binnen handbereik, en alle klanten kunnen er gebruik van maken zonder dat iemand de broncode in z'n handen krijgt.
pi_49709679
quote:
Op woensdag 23 mei 2007 23:37 schreef mstr het volgende:

[..]

De juiste querie maken
Goed, we gaan wegstrepen; wat voor type query is het?
- UPDATE
- DELETE
- SELECT
- INSERT
- Geen van bovenstaande
pi_49709702
quote:
Op woensdag 23 mei 2007 23:49 schreef Tuvai.net het volgende:
Of een applicatie maken die op JOUW server draait waar mensen inloggen. Dat is de strategie van het bedrijf waar ik nu voor werk. Die hebben in feite zelf de servers en de software, altijd binnen handbereik, en alle klanten kunnen er gebruik van maken zonder dat iemand de broncode in z'n handen krijgt.
Dit is wat ik ook doe, met als bijkomstige dienst dat ik ook verzegelde servers verhuurde maar dat laatste liep niet zo heel goed, dus dat heb ik maar stopgezet.
pi_49709777
Ja, ik werk nu inmiddels twee maanden bij het bedrijf en ik denk er vaak aan waarom ik niet eerder aan zoiets voor mezelf gedacht had. Je hebt niet alleen geen risico dat iemand je broncode verspreidt omdat toch niemand anders dan jij zelf er aan kunt komen (of okee, je zult al met professionele hackers te maken moeten hebben maar die houden zich naar mijn weten met belangrijkere dingen bezig), maar ook alles is meteen toegankelijk voor je als programmeur. Het is heerlijk wanneer d'r bijvoorbeeld een bug of een fout gemeld word, en ik die meteen lokaal 'effe' kan fixen zonder FTP geneuzel.
  FOK!-Schrikkelbaas donderdag 24 mei 2007 @ 08:17:26 #179
1972 Swetsenegger
Egocentrische Narcist
pi_49713148
quote:
Op woensdag 23 mei 2007 23:49 schreef Tuvai.net het volgende:
Swets: Elk klant een soort van ID Key / Productcode meegeven en bij installatie door een soot van white list gaan die checkt of het wel een legale versie is die geïnstalleerd word?
Daar is weer serverside een compare voor nodig die je er simpelweg uit kan slopen als je een beetje scripting kennis hebt. Ik zat zelf ook die kant op te denken. Vanaf mijn eigen domein elke dag een license file pushen met daarin een hash alogaritme. Je kan dan voor elke installatie een andere hash verzinnen.... Maar wederom het probleem, je moet serverside die hash gaan vergelijken.
quote:
Of een applicatie maken die op JOUW server draait waar mensen inloggen. Dat is de strategie van het bedrijf waar ik nu voor werk. Die hebben in feite zelf de servers en de software, altijd binnen handbereik, en alle klanten kunnen er gebruik van maken zonder dat iemand de broncode in z'n handen krijgt.
Ja elke variant waarbij je controlle over de server hebt is perfect, maar.... not an option. Het is ook meer hypothetisch he. Ik neem ook aan dat ik niet de enige ben met dit 'probleem' en IEMAND zal toch wel eens een werkbare waterdichte oplossing bedacht hebben?
pi_49713205
quote:
Op donderdag 24 mei 2007 08:17 schreef Swetsenegger het volgende:
[..]

Ik neem ook aan dat ik niet de enige ben met dit 'probleem' en IEMAND zal toch wel eens een werkbare waterdichte oplossing bedacht hebben?
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.
  donderdag 24 mei 2007 @ 08:49:15 #181
84926 WyriHaximus
Release the hounds smithers!
pi_49713525
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
phluphy for president!
pi_49713717
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
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 script nu 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.
  FOK!-Schrikkelbaas donderdag 24 mei 2007 @ 09:00:32 #183
1972 Swetsenegger
Egocentrische Narcist
pi_49713721
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.
Mjah, dus veel verder dan ergens ver weg gestopt een hashcode vergelijken, en die file misschien obfuscaten kom ik niet.
pi_49713769
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.
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.
  FOK!-Schrikkelbaas donderdag 24 mei 2007 @ 09:04:12 #185
1972 Swetsenegger
Egocentrische Narcist
pi_49713790
quote:
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.
Ook nog een idee
Goed, niet dat ik verwacht dat iemand mijn apps wil jatten
pi_49713868
quote:
Op donderdag 24 mei 2007 09:04 schreef Swetsenegger het volgende:

[..]

Goed, niet dat ik verwacht dat iemand mijn apps wil jatten
Als dat niet het geval is hoef je je nergens druk om te maken schrijf eventueel zelf een encrypter, pas de methode die ik hierboven beschreef toe of doe iets anders met remote activatie, dan heb je met niet al te veel moeite een systeem dat de meeste mensen niet kunnen omzeilen. Eventueel kun je nog passieve controle doen (wel eerst toestemming vragen via de applicatie! als ze 'm niet accepteren, dan werkt de app niet) zodat de app eens in de zoveel tijd een signaal naar jou stuurt met productgegevens waardoor jij kunt controleren of ze de app wel eerlijk gebruiken.
  donderdag 24 mei 2007 @ 09:31:23 #187
84926 WyriHaximus
Release the hounds smithers!
pi_49714472
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 script nu 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.
Mooie en goeie uitleg .

Dat 1 2 3 gebeuren weet ik idd. Maar dan moet je lijkt mij toch al best wat kennis van zaken hebben wil je zo ver komen . Begreep uit het verhaal dat hij zich niet zo heel veel zorgen er over maakt en dit werpt dan toch een extra barrière op . Als ze echt je source willen hebben lukt ze dat toch wel, zolang er iets op een bak van hun staat en kunnen ze gewoon bij de files dan kunnen ze er mee doen wat ze willen en zover ik weet kan je nog steeds binaries decompilen en de ASM er van lezen. (Veiligheid in het algemeen dan.)
phluphy for president!
  donderdag 24 mei 2007 @ 09:44:36 #188
84926 WyriHaximus
Release the hounds smithers!
pi_49714846
Zeer interesante link over OPcodes van PHP: http://blog.php-security.(...)n-where-are-you.html
phluphy for president!
pi_49715213
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?
  donderdag 24 mei 2007 @ 10:11:54 #190
84926 WyriHaximus
Release the hounds smithers!
pi_49715638
quote:
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?
Hoop het wel .. snuffelen

* WyriHaximus gaat info over PHP6 zoeken
phluphy for president!
  donderdag 24 mei 2007 @ 10:17:49 #191
84926 WyriHaximus
Release the hounds smithers!
pi_49715805
quote:
Op donderdag 24 mei 2007 10:11 schreef WyriHaximus het volgende:

[..]

Hoop het wel .. snuffelen

* WyriHaximus gaat info over PHP6 zoeken
Van: http://www.phphacks.com/content/view/49/33/
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.
phluphy for president!
  donderdag 24 mei 2007 @ 10:19:07 #192
84926 WyriHaximus
Release the hounds smithers!
pi_49715842
quote:
Op donderdag 24 mei 2007 10:17 schreef WyriHaximus het volgende:

[..]

Van: http://www.phphacks.com/content/view/49/33/
[..]
Nog meer info hier maar niks over OPcode beveiliging: http://www.php.net/~derick/meeting-notes.html
phluphy for president!
pi_49715911
Ook al op diverse sites naar PHP6 liggen snuffelen, maar inderdaad nog niks op de planning gevonden van het compileren/beveiligen van broncode.
  donderdag 24 mei 2007 @ 10:25:02 #194
84926 WyriHaximus
Release the hounds smithers!
pi_49715994
Ze zijn wel aan het kijken of/hoe ze APC in de core kunnen inbouwen .
phluphy for president!
pi_49716055
quote:
* ASP style <% tags will no longer be supported.
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.
  donderdag 24 mei 2007 @ 10:28:30 #196
84926 WyriHaximus
Release the hounds smithers!
pi_49716115
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.
Nee je kunt <% en %> niet meer gebruiken ipv <?php en ?> en <? en ?> .
phluphy for president!
  FOK!-Schrikkelbaas donderdag 24 mei 2007 @ 10:36:19 #197
1972 Swetsenegger
Egocentrische Narcist
pi_49716358
ik dnek niet dat ze shorttags eruit gaan slopen omdat zo'n beetje iedereen die gebruikt. Vooral in de <?=$variable;?> variant is dat rete makkelijk.

Maar toch... ook NU kan je plotseling geconfronteerd worden met een niet werkende app omdat in de php.ini shorttags uit staat
pi_49716527
Of je vernaggeld heel je code qua variabele namen middels een "Replace all" in je teksteditor.

1
2
3
4
5
6
7
<?php
foreach ($wii as $waa){

echo 
$waa['wuu'];

}
?>


:Y)
  FOK!-Schrikkelbaas donderdag 24 mei 2007 @ 10:48:27 #199
1972 Swetsenegger
Egocentrische Narcist
pi_49716723
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 ]

CTRL Z
pi_49719189
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
<?php
foreach ($waa as $waa){

echo
"wie".$waa;

}
?>
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')