abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas zaterdag 10 februari 2007 @ 21:49:11 #102
1972 Swetsenegger
Egocentrische Narcist
pi_46185662
met dank aan SuperRembo een url parser die zo'n beetje alles parsed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$regexps = array(
               // http://foo.net => [url=http://foo.net]http://foo.net[/url]
               '#(?<![url=)(http://.*?)(?=[.,?:;()<>]*(s|$))#i'   => '[url=1]1[/url]',
            // www.foo.net => [url=www.foo.net]http://www.foo.net[/url]
            '#(?<![url=)(?<!http://)(www..*?)(?=[.,?:;()<>]*(s|$))#i'   => '[url=http://1]1[/url]',
            // [url=http://foo.net]Foo[/url] => <a href="http://foo.net">Foo</a>
            '#[url=(https?://.*?)](.*?)[/url]#i'   => '<a class="main" href="1" target="_new">2</a>',
            // [url=foo.net]Foo[/url] => <a href="http://foo.net">Foo</a>
            '#[url=(.*?)](.*?)[/url]#i'   => '<a class="main" href="http://1" target="_new">2</a>',
               );

   foreach ($regexps as $search=>$replace) {
         $text = preg_replace($search, $replace, $text);
   }
pi_46189570
Helaas heb je er zo niet veel aan omdat alle \\ verneukt zijn

En de class="main" en target="_new" (wat natuurlijk target="_blank" zou moeten zijn) zijn toevoegingen van swets
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas zaterdag 10 februari 2007 @ 23:37:47 #104
1972 Swetsenegger
Egocentrische Narcist
pi_46189754


Maar het zou wel leuk zijn als die backslash bug eens opgelost wordt in replique
pi_46197291
Weet iemand een manier om javascript zaken uit HTML te filteren? zodat ik heerlijk gewoon een wysiwyg editor kan gebruiken voor wat voor site dan ook maar?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 11 februari 2007 @ 12:11:45 #106
107951 JortK
Immer kwaliteitsposts
pi_46197566
ik zit weer met een nieuwe uitdaging... eens kijken hoever ik kom, en anders horen jullie het van me
pi_46203136
vtel! eens!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_46203821
quote:
Op zondag 11 februari 2007 12:00 schreef Chandler het volgende:
Weet iemand een manier om javascript zaken uit HTML te filteren? zodat ik heerlijk gewoon een wysiwyg editor kan gebruiken voor wat voor site dan ook maar?
"om javascript zaken uit HTML te filteren"
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 11 februari 2007 @ 14:52:06 #109
107951 JortK
Immer kwaliteitsposts
pi_46204021
quote:
Op zondag 11 februari 2007 14:46 schreef SuperRembo het volgende:

[..]

"om javascript zaken uit HTML te filteren"
Ja ik snapte hem ook al niet helemaal
  FOK!-Schrikkelbaas zondag 11 februari 2007 @ 14:55:32 #110
1972 Swetsenegger
Egocentrische Narcist
pi_46204137
dat javascript uit html filteren begreep ik nog, maar het doel... wysiwig editor gebruiken... ontgaat me
  zondag 11 februari 2007 @ 14:57:08 #111
107951 JortK
Immer kwaliteitsposts
pi_46204196
quote:
Op zondag 11 februari 2007 14:31 schreef Chandler het volgende:
vtel! eens! :)
Nou ik moet iets scripten wat het volgende doet:

Ik heb een input als volgt:

1
2
3
4
5
6
7
<a href="url"><img src="plaatje"></a>
<BR>
<a href="url2"><img src="plaatje2"></a>
<a href="url3"><img src="plaatje3"></a>
<BR>
<a href="url4"><img src="plaatje4"></a>
<BR>


Kortom... plaatjes met een anchor met in willekeur de <BR> tag (lang leve Imagevenue :) )

De rauwe code gebruik ik als input in me form.

Wanneer de input geprocessed wordt, moet het volgende gebeuren:

* Alle <BR> tags verwijderen.
* Na iedere vierde afbeelding, dus na iedere vierde </a> moet een <BR> komen.
* Tussen iedere </a><a tag moet    komen

En in deze volgorde :)
  FOK!-Schrikkelbaas zondag 11 februari 2007 @ 15:03:12 #112
1972 Swetsenegger
Egocentrische Narcist
pi_46204464
str_replace waar bij je de <BR> vervangt door een spatie. hoppa, de spaties heb je alvast.
En een tellertje mee laten lopen en als die op 4 staat een <br /> parsen
pi_46204795
Ik doel dus op het volgende

Er zijn vele varianten van <script> in html, en deze wil ik allemaal kunnen verwijderen op het moment dat een pagina wordt opgeslagen (en dat over wysiwyg editor boeit niet )
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_46204991
Gewoon iets als preg_replace($content, '#<script.*</script>#isU', '')?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 11 februari 2007 @ 15:21:50 #115
12880 CraZaay
prettig gestoord
pi_46205201
quote:
Op zondag 11 februari 2007 15:10 schreef Chandler het volgende:
Ik doel dus op het volgende

Er zijn vele varianten van <script> in html, en deze wil ik allemaal kunnen verwijderen op het moment dat een pagina wordt opgeslagen (en dat over wysiwyg editor boeit niet )
Ik zou hier heel erg mee uitkijken. Een onclick bevat ook scripting, en css kan ook scripting bevatten (tenminste: op de plaats waar css hoort te staan javascript uitvoeren). Je zult je aardig moeten verdiepen in de materie om dit allemaal af te vangen.
pi_46205236
Is er een manier om alle aanwezige schijfletters op een windows pc te achterhalen? En is het mogelijk om onderscheid te maken tussen vaste (HD) en losse (CD/diskette) schijven?
Met COM werken is geen bezwaar, maar daar heb ik helaas geen kaas van gegeten
pi_46205473
@SuperRembo & CraZaay: klopt, daarom zoek ik er ook iets tegen
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 11 februari 2007 @ 19:16:49 #118
85514 ralfie
!Yvan eht nioj
pi_46213260
quote:
Op zondag 11 februari 2007 15:22 schreef Nevermind het volgende:
Is er een manier om alle aanwezige schijfletters op een windows pc te achterhalen? En is het mogelijk om onderscheid te maken tussen vaste (HD) en losse (CD/diskette) schijven?
Met COM werken is geen bezwaar, maar daar heb ik helaas geen kaas van gegeten
ik weet niet of er een betere manier is, maar je kunt in xp iig deze drives uit het register lezen. Bij elke drive staat een vage code die vast ergens voor staat, en waar je waarschijnlijk een hoop informatie uit kan halen, maar ik kom niet verder als de eerste twee karakters, die bij removable hardware altijd '5c' blijken te zijn (bij mij iig). Ze schijnen ook identiek te zijn bij verschillende partities van dezelfde schijf, tis maar dat je het weet. Ik heb zogauw iig niets gevonden over wat de codes precies betekenen.

1
2
3
4
5
6
<?php
exec
('reg query "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices"',$output);
$out=array();
foreach(
$output as $x)
        if(
preg_match("#DosDevices.(\w):.REG_BINARY.([0-9A-Z]{2})#is",$x,$matches)) $out[$matches[1]]=$matches[2]=='5C'?'Removable':'Stuck';
?>
Je krijgt dan een array ($out) met bijv
1
2
3
4
5
6
7
8
9
10
11
array (
  'C' => 'Stuck',
  'D' => 'Stuck',
  'A' => 'Removable',
  'E' => 'Stuck',
  'F' => 'Stuck',
  'G' => 'Stuck',
  'H' => 'Removable',
  'I' => 'Removable',
  'J' => 'Removable',
)
Station J bestaat bij mij niet. Het komt van een usb stokje af, wat er (nu) weer uit is. Het blijkt dat tijdelijke stations voor bijv usb sticks geregistreerd blijven! Let hierop als je er wat mee gaat doen.
pi_46216387
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
<?php
function getDriveStats($drive)
{
    if (
strlen($drive) == 1)
    {
        
$drive = $drive . ":";
    }
    
    
$exists = @stat($drive);
    if (
$exists != false)
    {
        
$free  = disk_free_space($drive);
        
$total = disk_total_space($drive);

        
$driveinfo['space'] = $total;
        
$driveinfo['used']  = $total;
        
$driveinfo['free']  = 0;
        
        if (
$total != 0)
        {
            
$driveinfo['free'] = $free;
            
$driveinfo['used'] = $total - $free;
        }

        return
$driveinfo;
    }
    
    return
false;
}

for (
$x = 0; $x < 26; $x++)
{
    
$info = getDriveStats(chr(65+$x));
    
    echo
'drive ' . CHR(65+$x);
    
    if (
$info == false)
    {
        echo
' does not exists <br />';
    }
    else
    {
        echo
' exists and is ' . $info['space'] . ' bytes big and has ' . $info['free'] . ' bytes free<br />';
    }
}
?>
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 11 februari 2007 @ 22:21:11 #120
37634 wobbel
Da WoBBeL King
pi_46220891
= verkeerde topic =
pi_46230415
klein vraagje:
ik heb een commandline programma en daarvan wil ik de output op het scherm hebben (of in een variable)
echter komt de output telkens in mijn errorlog tevoorschijn?

1
2
3
4
5
6
7
8
9
10
<?php
    
if(file_exists($row['location'].$row['filename']))
    {
        echo(
"reading ".$row['location'].$row['filename']."<br><pre>");
        
        
$last_line passthru("d:/www/ffmpeg/ffmpeg.exe -i ".$row['location'].$row['filename']);
        echo(
"</pre>");
        
// Printing additional info
    
}
?>


output in errorlog:
quote:
Seems that stream 0 comes from film source: 23.98 (65535/2733) -> 23.98 (250000/10427)
Input #0, avi, from 'm:AnimeFate Stay Night[Eclipse] Fate-stay night - 02 (XviD) [FF455508].avi':
Duration: 00:24:30.0, start: 0.000000, bitrate: 1041 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 640x368, 23.98 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
Must supply at least one output file
FFmpeg version SVN-r7215, Copyright (c) 2000-2006 Fabrice Bellard, et al.
configuration: --enable-memalign-hack
libavutil version: 49.1.0
libavcodec version: 51.25.0
libavformat version: 51.6.0
built on Dec 3 2006 00:22:39, gcc: 3.4.6
wie kan me helpen?
  FOK!-Schrikkelbaas maandag 12 februari 2007 @ 11:36:09 #122
1972 Swetsenegger
Egocentrische Narcist
pi_46232393
regexp vraag

ik heb dit als source
1<td Width=200 bgcolor=#9DA9BD>SWETS P.J.                   </td>


en ik heb dit patern
1"<td Width=200 bgcolor=#9DA9BD[^>]*>(.*?)</td>"


en die matched
1SWETS P.J.                   // let op de whitespace!


Ik kan geen trim op het result loslaten, dus ik wil graag de regexp aanpassen zodat hij de whitespaces aan het eind negeert. maar uh... hoe :P
pi_46233425
quote:
Op zondag 11 februari 2007 19:16 schreef ralfie het volgende:
quote:
Op zondag 11 februari 2007 20:47 schreef Chandler het volgende:
Bedankt beide! Ik zit tijdelijk even op W2k tot ik XP weer geļnstalleerd heb, dus de eerste oplossing gaat nu niet werken. Het is wel iets netter om het via het register te doen, maar de eerste tijd kan ik tijdelijk Chandlers oplossing gebruiken. Ik kan weer verder, hartelijk dank
pi_46233783
quote:
Op maandag 12 februari 2007 11:36 schreef Swetsenegger het volgende:
regexp vraag
[...]
Ik kan geen trim op het result loslaten, dus ik wil graag de regexp aanpassen zodat hij de whitespaces aan het eind negeert. maar uh... hoe :P
Dan moet je de whitespace opgeven in je regexp, en wel buiten de haakjes:

1"<td Width=200 bgcolor=#9DA9BD[^>]*>\s*(.*?)\s*</td>"
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas maandag 12 februari 2007 @ 12:53:28 #125
1972 Swetsenegger
Egocentrische Narcist
pi_46234534
quote:
Op maandag 12 februari 2007 12:25 schreef SuperRembo het volgende:

[..]

Dan moet je de whitespace opgeven in je regexp, en wel buiten de haakjes:
[ code verwijderd ]
Bedankt! zo simpel.
  FOK!-Schrikkelbaas maandag 12 februari 2007 @ 13:35:02 #126
1972 Swetsenegger
Egocentrische Narcist
pi_46235583
Hmz, waarom matched hij ook vanalles voor en na de TD? Ik wil alleen dat wat tussen de td staat
pi_46239570
quote:
Op maandag 12 februari 2007 12:13 schreef Nevermind het volgende:
Bedankt beide! Ik zit tijdelijk even op W2k tot ik XP weer geļnstalleerd heb, dus de eerste oplossing gaat nu niet werken. Het is wel iets netter om het via het register te doen, maar de eerste tijd kan ik tijdelijk Chandlers oplossing gebruiken. Ik kan weer verder, hartelijk dank
Graag gedaan
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_46246197
quote:
Op maandag 12 februari 2007 13:35 schreef Swetsenegger het volgende:
Hmz, waarom matched hij ook vanalles voor en na de TD? Ik wil alleen dat wat tussen de td staat :{
1
2
3
if (preg_match('|<td>(.*?)</td>|i', $html, $matches) {
   $inhoudVanDeTD = $matches[1];
}


$matches[1] bevat alles wat tussen de 1e set haakjes staat. Dat zou moeten werken.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas maandag 12 februari 2007 @ 19:11:53 #129
1972 Swetsenegger
Egocentrische Narcist
pi_46247333
quote:
Op maandag 12 februari 2007 18:43 schreef SuperRembo het volgende:

[..]
[ code verwijderd ]

$matches[1] bevat alles wat tussen de 1e set haakjes staat. Dat zou moeten werken.
Ja precies, ik had hem nodig in ASP en daarmee was het ff zoeken hoe ik de juiste uit de array kon vissen
Bedankt weer!
pi_46247934
Waarom stel je die vraag dan hier en niet in dat APS(.NET) topic? (Waar alleen maar ouwe ASP meuk in staat)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas maandag 12 februari 2007 @ 19:27:34 #131
1972 Swetsenegger
Egocentrische Narcist
pi_46248030
quote:
Op maandag 12 februari 2007 19:25 schreef SuperRembo het volgende:
Waarom stel je die vraag dan hier en niet in dat APS(.NET) topic? (Waar alleen maar ouwe ASP meuk in staat)
Omdat een regexp een regexp is en ik weet dat hier mensen zitten die veel weten van regexps
Ja ik kan het ook niet helpen dat het intranet nog op ASP3.0 draait
pi_46249141
ASP.NET heeft minimaal Win2k Pro nodig. Dat lukt toch nog wel mag ik hopen?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas maandag 12 februari 2007 @ 20:37:10 #133
1972 Swetsenegger
Egocentrische Narcist
pi_46250083
quote:
Op maandag 12 februari 2007 19:49 schreef SuperRembo het volgende:
ASP.NET heeft minimaal Win2k Pro nodig. Dat lukt toch nog wel mag ik hopen?
Mjah het is geen kwestie van hardware ofzo. Maar het is een gemeente, die veranderen niet zomaar
pi_46250159
quote:
Op maandag 12 februari 2007 19:27 schreef Swetsenegger het volgende:

[..]

Omdat een regexp een regexp is en ik weet dat hier mensen zitten die veel weten van regexps
Ja ik kan het ook niet helpen dat het intranet nog op ASP3.0 draait
Ik werk overdag en kom er dan niet aan toe om hier mee te lezen
pi_46252997
voor alle regex mensen hier: weet iemand vanaf welke Linux / PHP versie de regex ook special characters kan matchen (ė / ą / etc.). Ik had een Windows server met PHP 4.3.11 waar het werkte, maar nu ben ik over naar een Linux server met PHP 4.3.11, en daar werkt het niet

Het gaat dus om regexen als: P{M} enzo

Edit: ik krijg dus deze error: "Warning: preg_match(): Compilation failed: PCRE does not support L, l, N, P, p, U, u, or X"

[ Bericht 13% gewijzigd door Xcalibur op 13-02-2007 14:13:35 ]
pi_46303221
dat topic loop als een trein, vraag ik wat, gelijk dood
pi_46321999
Stel dan geen moeilijke vragen
pi_46323909
Ik heb een pagina gemaakt. Als ik via index.php?pagina=home surf, krijg ik de pagina te zien zonder fouten. Anders krijg ik wel fouten en dat komt omdat ik ergens in me code, verder op de pagina het volgende heb: "$pagina = $_GET['pagina'];".

Als er nou geen inhoud in de var pagina is krijg ik een foutmelding. Hoe zorg ik ervoor dat als er geen inhoud in de var is, dat de pagina url automatisch index.php?pagina=home wordt?

Ik heb al wat geprobeerd met headers:

1
2
3
4
5
<?php
if (!$_SERVER['PATH_TRANSLATED'] == "http://localhost/index.php") {
   header("Location: http://localhost/index.php?pagina=home");
}
?>

Bvd.
pi_46324064
1
2
3
4
5
<?php
if($pagina == ''') {
   include(home.php)
}
?>

Dat dus. Maar ik zou nog wel ergens de invoer van $pagina controleren.
pi_46324169
quote:
Op donderdag 15 februari 2007 10:38 schreef super-muffin het volgende:

[ code verwijderd ]
Dat dus. Maar ik zou nog wel ergens de invoer van $pagina controleren.
En hoe doe ik dat precies?

if (Empty($pagina)) { ?
pi_46324311
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$pagina = 'home'; 

$bekende_paginas = array ('home', 'about', 'contact', 'producten');

if (isset($_GET['pagina']) && in_array ($_GET['pagina'], $bekende_paginas))
{
  $pagina = $_GET['pagina'];
}

?>


Zie ook dit artikeltje op scriptorama.
pi_46324447
quote:
Op donderdag 15 februari 2007 10:48 schreef CaPS_ het volgende:

[ code verwijderd ]

Zie ook dit artikeltje op scriptorama.
Bedankt.
pi_46324748
en vergeet en geen else aan te hangen om de gebruiker door te sturen of iig een nette foutmelding te geven, mocht het voorkomen.
pi_46325315
quote:
Op donderdag 15 februari 2007 11:02 schreef super-muffin het volgende:
en vergeet en geen else aan te hangen om de gebruiker door te sturen of iig een nette foutmelding te geven, mocht het voorkomen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
   <?php
   include("functies.php");
   $pagina = $_GET['pagina'];
   
   switch ($pagina) {
   default:
   case "home":
       include("home.php");
      break;
   case "telefoonboek":
       include("telefoonboek.php");
      break;
   case "relatiegids":
       include("relatiegids.php");
      break;
   case "admin":
       include("admin.php");
      break;
   }
   ?>
Dit is wat ik had...
pi_46325624
Maar welke ga je nu gebruiken, die van CaPS of die van jou?
pi_46326044
quote:
Op donderdag 15 februari 2007 11:29 schreef super-muffin het volgende:
Maar welke ga je nu gebruiken, die van CaPS of die van jou?
Die van mij heeft een bug...
Heb jij anders een idee hoe ik de bug kan oplossen in mijn script?
Ik snap niet precies het CaPS script
Bvd.
pi_46326356
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
   
   
include("functies.php");
   
$pagina = $_GET['pagina'];
   
   switch (
$pagina) {
   case
"home":
       include(
"home.php");
      break;
   case
"telefoonboek":
       include(
"telefoonboek.php");
      break;
   case
"relatiegids":
       include(
"relatiegids.php");
      break;
   case
"admin":
       include(
"admin.php");
      break;
   default:
       include(
"404.php");
   }
   
?>


Bingo, als je nog even een 404.php aanmaakt zou het moeten werken. Je default kun je het beste onderaan gooien
pi_46326729
quote:
Op donderdag 15 februari 2007 11:54 schreef Geqxon het volgende:

[ code verwijderd ]

Bingo, als je nog even een 404.php aanmaakt zou het moeten werken. Je default kun je het beste onderaan gooien
Als er nou geen waarde in de pagina is, dan pakt de switch toch default?
pi_46326994
quote:
Op donderdag 15 februari 2007 11:43 schreef Qunix het volgende:

[..]

Die van mij heeft een bug...
Heb jij anders een idee hoe ik de bug kan oplossen in mijn script?
Ik snap niet precies het CaPS script
Bvd.
Die van CaPS is het makkelijkst.
hier is zijn script met commentaar:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$pagina
= $_GET['pagina'];
//een lijst met pagina's die geinclude mogen worden
//aanpassen naar de pagina's die je wilt
$bekende_paginas = array ('home', 'about', 'contact', 'producten');

// als $pagina een waarde heeft, en in de waarde daar van in de array staat
if (isset($pagina) && in_array ($pagina, $bekende_paginas)) {
    
// include de pagina
    
include($pagina . ".php");
}
// als de statment hierboven false is, controleer of dit wel goed is
else if($pagina == '') {
    include(
"home.php");
}
// als beide statements false zijn
else {
    include(
"404.php");
}
?>


[ Bericht 4% gewijzigd door super-muffin op 15-02-2007 12:24:31 ]
pi_46327033
quote:
Op donderdag 15 februari 2007 12:07 schreef Qunix het volgende:

[..]

Als er nou geen waarde in de pagina is, dan pakt de switch toch default?
Jij snapt hem
pi_46327088
quote:
Op donderdag 15 februari 2007 12:07 schreef Qunix het volgende:

[..]

Als er nou geen waarde in de pagina is, dan pakt de switch toch default? :?
Klopt, als geen van de cases true is, word de default gepakt.

wat je ook kunt doen in het script van Geqxon:
1
2
3
4
5
6
<?php
$pagina
= $_GET['pagina'];

if(
$pagina = '') $pagina = "home";
//switch
?>


Zo zie je maar, er leiden meer wegen naar Rome :P
pi_46327123
En om de integeriteit van die van CaPS te verbeteren:

1
2
3
<?php
if (isset($_GET['pagina']) && in_array ($_GET['pagina'], $bekende_paginas) && file_exists($_GET['pagina'])
?>
pi_46327153
ik zou er dan van maken:

1
2
3
<?php
if (isset($_GET['pagina']) && in_array ($_GET['pagina'], $bekende_paginas) && file_exists($_GET['pagina'] . ".php") //of .html/.htm of wat je ook gebruikt.
?>
pi_46327159
Verder ben ik van mening dat die isset en de in_array controle een beetje teveel van het goede is, want als hij in de array zit zal hij ook vast wel ge-set is.
quote:
Op donderdag 15 februari 2007 12:21 schreef super-muffin het volgende:
ik zou er dan van maken:
[ code verwijderd ]
Wel zo slim
pi_46327372
quote:
Op donderdag 15 februari 2007 12:16 schreef super-muffin het volgende:

[..]

Die van CaPS is het makkelijkst.
hier is zijn script met commentaar:

[ code verwijderd ]
Thanks
pi_46329045
Als de url "http://localhost/intranet/" is dan krijg ik de volgende foutmelding:
Notice: Undefined index: pagina in S:Leerbedrijfwwwrootintranetindex.php on line 72

Lijn 72 tot 73:
1
2
3
<?php
    $pagina
= $_GET['pagina'];
?>

Ligt dat aan de php instellingen? Of is het gevaarlijk?
pi_46329486
fout is weg
pi_46329663
De kans is gering dat het werkt, maar for the sake of safety zou je ook iets als dit even kunnen proberen:

1
2
3
<?php
include("http://www.website.nl/content/" . $pagina . ".php");
?>


Dan is het in principe onmogelijk om "gekke" pagina's aan te vragen

[ Bericht 11% gewijzigd door Geqxon op 15-02-2007 13:48:15 ]
pi_46330388
quote:
Op donderdag 15 februari 2007 13:37 schreef Geqxon het volgende:
De kans is gering dat het werkt, maar for the sake of safety zou je ook iets als dit even kunnen proberen:


[ code verwijderd ]

Dan is het in principe onmogelijk om "gekke" pagina's aan te vragen
Thanks
pi_46331903
-edit-

[ Bericht 91% gewijzigd door Qunix op 15-02-2007 14:52:52 ]
pi_46332045
SELECT *
FROM tabelnaam1, tabelnaam2

Misschien heb je wat aan deze site:
http://www.tizag.com/mysqlTutorial/
pi_46332137
quote:
Op donderdag 15 februari 2007 14:50 schreef super-muffin het volgende:
SELECT *
FROM tabelnaam1, tabelnaam2

Misschien heb je wat aan deze site:
http://www.tizag.com/mysqlTutorial/
ik had een spelfout had hem toch goed
pi_46333415
Hoe kan ik een variabel op laten tellen binnen een for loop?

Dus ik heb bijvoorbeeld het variabel $test1 en binnen de for loop moet ie steeds 1 hoger worden, dus je krijgt een $test2 erbij en een $test3, dus eigenlijk $test$i maar dat werkt dus niet.
Misschien dat ik het met een array kan oplossen maar liever op deze manier als dat gaat.
-
  donderdag 15 februari 2007 @ 15:43:21 #164
85514 ralfie
!Yvan eht nioj
pi_46333742
1
2
3
4
<?php
$var
="test".$i;
$
$var="bla";
?>
pi_46334216
Merci.
-
  donderdag 15 februari 2007 @ 16:21:19 #166
12880 CraZaay
prettig gestoord
pi_46335307
Ik vraag me af waarom je dit liever niet met een array wilt doen?
pi_46335549
In het kort wil ik het volgende doen:

Ik heb een object category, die heeft een array $clsChilds.
Nu wil ik die gaan vullen met waardes uit de database dus ik zeg bijvoorbeeld
$clsCategory[0]->clsChilds[0]->clsChilds[0]->addChild();

$clsCategory[0] is de hoofdcategorie en dit is dus een child van een child, bijvoorbeeld:
electronica (hoofdcategorie) > gsm > nokia

Maar hoe dieper je komt, des te langer wordt het ->clsChilds[0]->clsChilds[0]-> stukje, dus dat wil ik met een for loop laten opbouwen, maar dat pakt ie niet helemaal merk ik.

Is er nog een andere oplossing om dit te doen?
-
  donderdag 15 februari 2007 @ 17:04:08 #168
18008 hornage
FOK! Movie Trivia-Prijsmeester
pi_46336942
als je in een treestructuur een specifieke node wil hebben kan je die misschien sneller benaderen door er een searchfunctie in te maken en dan direct de methode daarin aan te roepen. Als je met trees werkt is recursie natuurlijk ook het toverwoord
Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
  donderdag 15 februari 2007 @ 18:00:38 #169
85514 ralfie
!Yvan eht nioj
pi_46338766
of gebruik pointers:
1
2
3
<?php
$pointer
=&$clsCategory[0]->clsChilds; //etc
?>
In combinatie met een simpel for loopje natuurlijk helemaal te gek
pi_46338788
quote:
Op donderdag 15 februari 2007 12:22 schreef Geqxon het volgende:
Verder ben ik van mening dat die isset en de in_array controle een beetje teveel van het goede is, want als hij in de array zit zal hij ook vast wel ge-set is.
Tja, de standaard PHP configuratie laat je inderdaad toe om de isset() aanroep weg te laten maar ik vind het niet verstandig. Wat ik schreef is logischer, het is immers mogelijk dat de variabele 'pagina' niet is meegegeven in de URL en dat dient dus gecontroleerd te worden voordat je er zomaar gebruik van maakt. Qunix is die situatie zelf ook al tegen gekomen:
quote:
Op donderdag 15 februari 2007 13:20 schreef Qunix het volgende:
Als de url "http://localhost/intranet/" is dan krijg ik de volgende foutmelding:
Notice: Undefined index: pagina in S:Leerbedrijfwwwrootintranetindex.php on line 72

Lijn 72 tot 73:
[ code verwijderd ]

Ligt dat aan de php instellingen? Of is het gevaarlijk?
pi_46340187
dag, zit me teen klein probleempje.
ben onlangso vergestapt naar een nieuwe php, mysql en apache versie en alles werkt in princiepe
alleen krijg ik bij sql statements bij sommige nog een foutmelding:

de foutmelding:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '


<?php

$text = $_POST['text'];
$id = $_GET['id'];


$sql = "UPDATE paginas SET content = '$text' WHERE id = '$id'";
mysql_query($sql) or die("<h1>Er is iets misgegaan</h1><hr>".mysql_error());

?>


ik weet al wel hoe het komt en heb al een workarround maar weet niet hoe ik de statement kan aanpassen zodat het wel nmormaal werkt.
het probleem is namelijk dat ik een stuk text probeer op te slaan, maar de ' uit de text als bijvoorbeeld ergens komma 's worden gebruikt dan loopt hij daar tegen aan in de statement... dubbele quotes gebruiken is een oplossing maar dat gaat gewoon niet altijd

iemand een idee hoe ik dit kan verhelpen ?
De enige echte BaggerUser!
Riemen
fiets kopen
pi_46340446
1$var1 = "iets" . $var2 . "sdf";


Is de juiste manier om het te doen. :) Volgens mij lost dat het wel op.

@hornage, een specifieke node lezen kan ik al wel maar het probleem was om de hele database in te lezen en classes van te maken.
@ralfie, bedankt dat ga ik eens proberen!
-
  FOK!-Schrikkelbaas donderdag 15 februari 2007 @ 19:39:58 #173
1972 Swetsenegger
Egocentrische Narcist
pi_46342020
quote:
Op donderdag 15 februari 2007 18:46 schreef BaggerUser het volgende:
dag, zit me teen klein probleempje.
ben onlangso vergestapt naar een nieuwe php, mysql en apache versie en alles werkt in princiepe
alleen krijg ik bij sql statements bij sommige nog een foutmelding:

de foutmelding:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '


<?php

$text = $_POST['text'];
$id = $_GET['id'];


$sql = "UPDATE paginas SET content = '$text' WHERE id = '$id'";
mysql_query($sql) or die("<h1>Er is iets misgegaan</h1><hr>".mysql_error());

?>


ik weet al wel hoe het komt en heb al een workarround maar weet niet hoe ik de statement kan aanpassen zodat het wel nmormaal werkt.
het probleem is namelijk dat ik een stuk text probeer op te slaan, maar de ' uit de text als bijvoorbeeld ergens komma 's worden gebruikt dan loopt hij daar tegen aan in de statement... dubbele quotes gebruiken is een oplossing maar dat gaat gewoon niet altijd

iemand een idee hoe ik dit kan verhelpen ? ;(
mysql_real_escape_string
En $id hoeft waarschijnlijk niet in tussen enkele quotes, want zal een integer bevatten en je variabelen buiten quotes plaatsen
1
2
3
<?php
$sql
= "UPDATE paginas SET content = '".$text."' WHERE id = ".$id;
?>
pi_46342310
quote:
Op donderdag 15 februari 2007 18:00 schreef ralfie het volgende:
of gebruik pointers:
[ code verwijderd ]

In combinatie met een simpel for loopje natuurlijk helemaal te gek
Ik heb nu:
1
2
$pointer =& $clsObject->clsChild;
$$var = $pointer->function();


Dat werkt. Maar ik wil een oneindig aantal clsChilds, wee tje toevallig ook hoe dat moet?
Dit werkt bijvoorbeeld niet:

1
2
3
$pointer =& $clsObject->clsChild;
$pointer2 =& clsChild;
$$var = $pointer->pointer2->function();
-
pi_46344238
Minivraag

met dit maak ik van een string een array
1explode(",", FONTS)


echter krijg ik dan

1
2
3
$font[0] = "Arial";
$font[1] = "Times";
etc


maar eingelijk wil ik $font['Arial'] = "Arial" etc.

Weet iemand hoe ik dat simpel kan realiseren
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_46344267
quote:
Op donderdag 15 februari 2007 19:39 schreef Swetsenegger het volgende:

[..]

mysql_real_escape_string
En $id hoeft waarschijnlijk niet in tussen enkele quotes, want zal een integer bevatten en je variabelen buiten quotes plaatsen
[ code verwijderd ]
Toch zou ik $_GET['id'] ff met is_numeric checken, in case of
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 15 februari 2007 @ 20:44:20 #177
12880 CraZaay
prettig gestoord
pi_46344452
quote:
Op donderdag 15 februari 2007 20:38 schreef Chandler het volgende:
Minivraag

met dit maak ik van een string een array
[ code verwijderd ]

echter krijg ik dan
[ code verwijderd ]

maar eingelijk wil ik $font['Arial'] = "Arial" etc.

Weet iemand hoe ik dat simpel kan realiseren
explode() en dan array_flip()? En anders even verder kijken dan je neus lang is en http://nl2.php.net/manual/en/ref.array.php eens lezen
pi_46344885
CraZaay, array_flip draait gegevens om... maar ik wil niet omdraaien, ik wil dat alle items in deze array dezelfde 'id' als value krijgen.. maar goed, dan maar een paar regels meer

1
2
3
4
5
$fnt = explode(",", FONTS);
    foreach ($fnt as $null => $font)
    {
        $fontArr[$font] = $font;
    }


en heb die doc op php.net natuurlijk gelezen voordat ik hier ging posten
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 15 februari 2007 @ 21:01:07 #179
12221 Tijn
Powered by MS Paint
pi_46345066
Waarom zou je willen dat de key hetzelfde is als de value? Wat is dan nog het nut van ze beiden opslaan?
  FOK!-Schrikkelbaas donderdag 15 februari 2007 @ 21:03:34 #180
1972 Swetsenegger
Egocentrische Narcist
pi_46345164
quote:
Op donderdag 15 februari 2007 20:39 schreef Chandler het volgende:

[..]

Toch zou ik $_GET['id'] ff met is_numeric checken, in case of
Die discussie is nu al 500 keer gevoerd en het algemene standpunt daarin is ALTIJD USER INPUT CONTROLEREN en dat standpunt blijf ik niet herhalen.

Uiteraard ga je met is_numeric controleren, hoewel de grotste angel er met mysql_real_escape_STRING AL WEL UIT IS.
  donderdag 15 februari 2007 @ 21:19:26 #181
12880 CraZaay
prettig gestoord
pi_46345767
quote:
Op donderdag 15 februari 2007 21:01 schreef Tijn het volgende:
Waarom zou je willen dat de key hetzelfde is als de value? Wat is dan nog het nut van ze beiden opslaan?
Dat heeft inderdaad geen enkel nut
  donderdag 15 februari 2007 @ 21:20:23 #182
12880 CraZaay
prettig gestoord
pi_46345795
quote:
Op donderdag 15 februari 2007 21:03 schreef Swetsenegger het volgende:

Uiteraard ga je met is_numeric controleren, hoewel de grotste angel er met mysql_real_escape_STRING AL WEL UIT IS.
Maar aangezien die er volgens mij geen quotes omheen zet, moet je wel heel zeker weten dat het een integer is.
pi_46346894
quote:
Op donderdag 15 februari 2007 21:03 schreef Swetsenegger het volgende:

Uiteraard ga je met is_numeric controleren, hoewel de grotste angel er met mysql_real_escape_STRING AL WEL UIT IS.
Waarom zou je een integer gaan behandelen als een string?

Als ie de is_numeric passed betekend het toch dat je deze data kan gebruiken voor je SQL query. Al dan niet met een single quote char eromheen.

mysql_real_escape_string lijkt me voor strings alleen, niet voor een integer.
  FOK!-Schrikkelbaas donderdag 15 februari 2007 @ 22:17:48 #184
1972 Swetsenegger
Egocentrische Narcist
pi_46348273
quote:
Op donderdag 15 februari 2007 21:45 schreef slakkie het volgende:

[..]

Waarom zou je een integer gaan behandelen als een string?

Als ie de is_numeric passed betekend het toch dat je deze data kan gebruiken voor je SQL query. Al dan niet met een single quote char eromheen.

mysql_real_escape_string lijkt me voor strings alleen, niet voor een integer.
mysql_real_escape_string slasht quotes en voorkomt derhalve sqlinjection. Ook integers als string behandelen is een goed idee, als je eens een keer slipt met je userinput controlle zou er wel eens een 'tje in je 'integer' kunnen staan.
  donderdag 15 februari 2007 @ 23:11:38 #185
12880 CraZaay
prettig gestoord
pi_46350519
quote:
Op donderdag 15 februari 2007 22:17 schreef Swetsenegger het volgende:

[..]

mysql_real_escape_string slasht quotes en voorkomt derhalve sqlinjection. Ook integers als string behandelen is een goed idee, als je eens een keer slipt met je userinput controlle zou er wel eens een 'tje in je 'integer' kunnen staan.
Nee, dat kan er dus niet in staan als is_numeric() true is
pi_46351408
quote:
Op donderdag 15 februari 2007 22:17 schreef Swetsenegger het volgende:

[..]

mysql_real_escape_string slasht quotes en voorkomt derhalve sqlinjection. Ook integers als string behandelen is een goed idee, als je eens een keer slipt met je userinput controlle zou er wel eens een 'tje in je 'integer' kunnen staan.
Op zich is het ook een nadeel van mysql dat strings in een numeriek veld kunnen worden geplaatst.
pi_46351436
quote:
Op dinsdag 13 februari 2007 08:50 schreef Xcalibur het volgende:
voor alle regex mensen hier: weet iemand vanaf welke Linux / PHP versie de regex ook special characters kan matchen (ė / ą / etc.). Ik had een Windows server met PHP 4.3.11 waar het werkte, maar nu ben ik over naar een Linux server met PHP 4.3.11, en daar werkt het niet

Het gaat dus om regexen als: P{M} enzo

Edit: ik krijg dus deze error: "Warning: preg_match(): Compilation failed: PCRE does not support L, l, N, P, p, U, u, or X"
niemand die hier nog wat zinnigs over te zeggen heeft?
pi_46351509
quote:
Op donderdag 15 februari 2007 22:17 schreef Swetsenegger het volgende:

mysql_real_escape_string slasht quotes en voorkomt derhalve sqlinjection. Ook integers als string behandelen is een goed idee, als je eens een keer slipt met je userinput controlle zou er wel eens een 'tje in je 'integer' kunnen staan.
Ik volg je niet echt..

Ik zie de gehele reden voor de mysql_real_escape_string niet. Het is een integer, geen string. En zelfs al is het een string, dan heb je die mysql_real_escape_string niet nodig. Een input van '9 moet ie er zoiezo uitfilteren en op barfen, daar hoef je niet nog eens een \'9 van te maken. Dit is immers geen int.

Ik zat ff te spelen met verschillende manier om te checken of iets een int is.

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
<?php
$array 
= array (
  
9,
  
'9',
  
"9",
  
"9.9",
  
"9,9",
  
"hello9",
  
"hello world",
  
"-9.0",
  
"+99.0",
  
"-9",
  
"+9",
  
"'+9'",
  
"9.000001",
);


foreach (
$array as $id) {

  echo 
"$id\n";

  if (
is_numeric($id) && (!is_float($id) && !is_string($id))) {
    echo 
"is_nummeric and not float and not string\n";
  }

  if (
ctype_digit($id)) {
    echo 
"Is ctype_digit\n";
  }

  
# -9.000 -9.0 -9 en zelfde voor + maar mag ook zonder ;)
  
if (preg_match('/^[-+]?\s*d+([.,]0+)?\s*$/'$id)) {
    echo 
"Is int - regexp\n";
  }
  echo 
"\n";
?>


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
9
is_nummeric and not float and not string
Is int - regexp

9
Is ctype_digit
Is int - regexp

9
Is ctype_digit
Is int - regexp

9.9

9,9

hello9

hello world

-9.0
Is int - regexp

+99.0
Is int - regexp

-9
Is int - regexp

+9
Is int - regexp

'+9'

9.000001


Zoals je kan zien, heb ik die hele mysql_real_escape_string niet nodig. Die is_numeric is mij te los qua wat ie als integer zit, ik zou hem iig daarvoor nooit gebruiken. Ik zou dus altijd met een regexp checken of het een integer is.

Wellicht dat intval() ook nog gebruikt kan worden, ik heb ermee getest, maar die vind 9.9 ook een int, en daar ben ik het niet mee eens, dat is een double/float, en valt dus buiten de boot.
pi_46357065
Als ik met SQL queries werk, gebruik ik gewoon intval() voor integers en mysql_real_escape_string() voor strings.
pi_46358195
quote:
Op donderdag 15 februari 2007 21:01 schreef Tijn het volgende:
Waarom zou je willen dat de key hetzelfde is als de value? Wat is dan nog het nut van ze beiden opslaan?
Zie quote CraZaay
quote:
Op donderdag 15 februari 2007 21:19 schreef CraZaay het volgende:
Dat heeft inderdaad geen enkel nut
Geheel fout!

Mijn eigen geschreven parser werkt met values, in een database heb ik een veld waarin ik de naam van het font bewaar. dus niet een ID maar de NAAM!. Mijn parser kan on the fly een option select list maken van een array en tevens de 'geselecteerde' optie selectere aan de hand van de 'ID!' maar in dit geval is het dus geen id maar een 'variabel!'

dus enigzinds onzinnig om een antwoord te geven op iets waarvan jullie nog niet weten waarvoor het gebruikt is / gaat worden
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 16 februari 2007 @ 17:08:45 #191
37634 wobbel
Da WoBBeL King
pi_46372804
Is er een bug in PHP 4.3.9 ofzo? (jaja, oude versie ik weet maar ze willen nietu pdaten in de productie omgeving )

Als ik dit script heb:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
session_start 
( );

$_SESSION['SettleLand'] = 1;

echo 
$_SESSION['SettleLand']; // 1 in dit geval

if ( $_SESSION['SettleLand'] == )
{

    
$SettleLand "Nederland"

}
elseif
{

    
$SettleLand "Belgiieeuuuuh";

}

echo 
$SettleLand// Nederland in dit geval
echo $_SESSION['SettleLand']; // is ook veranderd in Nederland en niet meer 1 !!!
?>


Als ik $SettleLand zou renamen naar $HeleAndereVariable dan is 't probleem opgelost, maar in PHP 5.2.0 bestaat dit probleem niet namelijk....en in de changelogs kan ik (zo gauw) niks vinden.
pi_46373042
Controleer je php.ini eens of register_globals aan staat, die moet uitstaan en in php5 kun je die geloof ik niet eens meer aanzetten, dus dat zou het verklaren.

register_globals zorgt ervoor dat je een global (session is dit geval) kunt gebruiken alsof het een normaal variable is, dus hij maakt van $_SESSION['SettleLand'] autoatisch al $SettleLand, en die is inderdaad "Nederland" geworden in jou script. Overigens raar dat $_SESSION['SettleLand'] ook nederland wordt maar vooruit, zal de andere kant ook wel zo op werken.
-
  vrijdag 16 februari 2007 @ 17:17:12 #193
37634 wobbel
Da WoBBeL King
pi_46373065
quote:
Op vrijdag 16 februari 2007 17:16 schreef splendor het volgende:
Controleer je php.ini eens of register_globals aan staat, die moet uitstaan en in php5 kun je die geloof ik niet eens meer aanzetten, dus dat zou het verklaren.

register_globals zorgt ervoor dat je een global (session is dit geval) kunt gebruiken alsof het een normaal variable is, dus hij maakt van $_SESSION['SettleLand'] autoatisch al $SettleLand, en die is inderdaad "Nederland" geworden in jou script. Overigens raar dat $_SESSION['SettleLand'] ook nederland wordt maar vooruit, zal de andere kant ook wel zo op werken.
Verbaasde mij ook, want dit vond ik echt wel heel strange

register_globals = On

[ Bericht 3% gewijzigd door wobbel op 16-02-2007 17:27:11 (poep in m\'n hoofd) ]
pi_46375294
register_globals staat aan in een productieomgeving?
da's wel heel slecht...
  FOK!-Schrikkelbaas vrijdag 16 februari 2007 @ 18:52:42 #195
1972 Swetsenegger
Egocentrische Narcist
pi_46375870
quote:
Op donderdag 15 februari 2007 23:31 schreef slakkie het volgende:

[..]

Ik volg je niet echt..

Ik zie de gehele reden voor de mysql_real_escape_string niet. Het is een integer, geen string. En zelfs al is het een string, dan heb je die mysql_real_escape_string niet nodig. Een input van '9 moet ie er zoiezo uitfilteren en op barfen, daar hoef je niet nog eens een \'9 van te maken. Dit is immers geen int.

Ik zat ff te spelen met verschillende manier om te checken of iets een int is.
[ code verwijderd ]


[ code verwijderd ]

Zoals je kan zien, heb ik die hele mysql_real_escape_string niet nodig. Die is_numeric is mij te los qua wat ie als integer zit, ik zou hem iig daarvoor nooit gebruiken. Ik zou dus altijd met een regexp checken of het een integer is.

Wellicht dat intval() ook nog gebruikt kan worden, ik heb ermee getest, maar die vind 9.9 ook een int, en daar ben ik het niet mee eens, dat is een double/float, en valt dus buiten de boot.
Je gaat er maar vanuit dat je daadwerkelijk de userinput controleert. Zowel mysql als php zijn zo inconsistent als de tyfus met strings en integers, dus is 1 fuck-up voldoende om sql injection toe te staan.

Ik begrijp jouw weerstand niet tegen een extra safety maatregel als mysql_real_escape_string. Zeker niet in toepassingen zoals de meeste hier maken waar performance geen groot issue is. Want eigenlijk is dat de enige reden die ik kan bedenken voor je aversie tegen een failback systeem

Naast natuurlijk het feit dat je simpelweg userinput moet controleren.
  FOK!-Schrikkelbaas vrijdag 16 februari 2007 @ 18:53:56 #196
1972 Swetsenegger
Egocentrische Narcist
pi_46375905
quote:
Op donderdag 15 februari 2007 23:11 schreef CraZaay het volgende:

[..]

Nee, dat kan er dus niet in staan als is_numeric() true is
quote:
Op donderdag 15 februari 2007 22:17 schreef Swetsenegger het volgende:
als je eens een keer slipt met je userinput controlle zou er wel eens een 'tje in je 'integer' kunnen staan.
pi_46376460
Is het misschien iets om voor iedereen hier een functie te schrijven die veilig met $_GET's omgaat?

Ik wil wel een begin geven door mijn voorlopige functie hier neer te zetten, kan iemand anders hem uitbreiden en er over discussiėren tot we een goeie hebben. :)

1
2
3
4
function filterGET($getValue) {
   $getValue = trim(htmlspecialchars($getValue));
   return $getValue;
}


Misschien een idee dat je aangeeft of het een int, string of beide moet/mag zijn en dat ie daar dan ook op controleert.
-
  FOK!-Schrikkelbaas vrijdag 16 februari 2007 @ 20:08:02 #198
1972 Swetsenegger
Egocentrische Narcist
pi_46378534
quote:
Op vrijdag 16 februari 2007 19:10 schreef splendor het volgende:
Is het misschien iets om voor iedereen hier een functie te schrijven die veilig met $_GET's omgaat?

Ik wil wel een begin geven door mijn voorlopige functie hier neer te zetten, kan iemand anders hem uitbreiden en er over discussiėren tot we een goeie hebben.
[ code verwijderd ]

Misschien een idee dat je aangeeft of het een int, string of beide moet/mag zijn en dat ie daar dan ook op controleert.
[php/mysql] SQL Injection, Maqic Quotes genoeg?
http://www.phpfreakz.nl/artikelen.php?aid=106

[ Bericht 8% gewijzigd door Swetsenegger op 16-02-2007 20:13:15 ]
  vrijdag 16 februari 2007 @ 20:12:31 #199
159979 G.Fawkes
Libera eas de ore leonis!
pi_46378701
Ik heb vandaag jinzora installeerd op mijn ubuntu server en hij doet het redelijk. twee foutmeldingen blijven verschijnen:

1
2
3
4
5
Warning: fopen(/var/www/mp3/temp/cache/ac00233293befcafae03b4e82ac8f134.html) [function.fopen]: failed to open stream: Permission denied in /var/www/mp3/frontend/display.php on line 138

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/mp3/frontend/display.php on line 139

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/mp3/frontend/display.php on line 140


en

1
2
3
4
5
Warning: fopen(/var/www/mp3/temp/cache/e6420d249144468d93a38591f933734d.html) [function.fopen]: failed to open stream: Permission denied in /var/www/mp3/frontend/display.php on line 138

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/mp3/frontend/display.php on line 139

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/mp3/frontend/display.php on line 140


Is er een bepaalde app die ik nog zou moeten installeren of dergelijke want hij zegt wel permission denied, maar chmod staat iig goed...
pi_46380027
-- edit: werkte wel, tiep fout --
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_46383886
quote:
Op vrijdag 16 februari 2007 18:52 schreef Swetsenegger het volgende:

Je gaat er maar vanuit dat je daadwerkelijk de userinput controleert. Zowel mysql als php zijn zo inconsistent als de tyfus met strings en integers, dus is 1 fuck-up voldoende om sql injection toe te staan.
Ik neem niet aan dat de data al gevalideerd is. En in mijn check weet ik dat de data een integer is (in de regexp accepteerd ie ook doubles en floaters). Maar ik weet dat de data correct is en daarna alles met mijn data doen. Het is gechecked, alles wat ik daarna doe is op mijn conto en heeft dan niks meer te maken met users die SQL injection willen doen.

GUI
Check and sanatize data
Do stuff with data and many more.

Je hoeft in dat geval niet op meerdere plekken je data te valideren, dat is immers al gedaan. Je onderliggende klasses/functies hoeven dan alleen te checken of de input parameters goed zijn. Dwz, ik verwacht een string, en als ik dit niet krijg, error.
quote:
Ik begrijp jouw weerstand niet tegen een extra safety maatregel als mysql_real_escape_string. Zeker niet in toepassingen zoals de meeste hier maken waar performance geen groot issue is. Want eigenlijk is dat de enige reden die ik kan bedenken voor je aversie tegen een failback systeem
Nee, ik begrijp je redenatie achter de safety maatregel. Ik snap alleen niet waarom je dit met een integer doet. Het is namelijk geen string. Dat is mijn enige commentaar.
  FOK!-Schrikkelbaas vrijdag 16 februari 2007 @ 22:41:40 #202
1972 Swetsenegger
Egocentrische Narcist
pi_46383976
quote:
Op vrijdag 16 februari 2007 22:38 schreef slakkie het volgende:

[..]

Ik neem niet aan dat de data al gevalideerd is. En in mijn check weet ik dat de data een integer is (in de regexp accepteerd ie ook doubles en floaters). Maar ik weet dat de data correct is en daarna alles met mijn data doen. Het is gechecked, alles wat ik daarna doe is op mijn conto en heeft dan niks meer te maken met users die SQL injection willen doen.
Totdat er een keer niet gechecked is
quote:
Nee, ik begrijp je redenatie achter de safety maatregel. Ik snap alleen niet waarom je dit met een integer doet. Het is namelijk geen string. Dat is mijn enige commentaar.
Tja, volgens php is $a="1" ook een integer, of probeert het in ieder geval als integer te parsen.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')