abonnement Unibet Coolblue Bitvavo
pi_35289928
TVP

Bestaat er geen 'KRegExpEditor' voor windows?
  maandag 20 februari 2006 @ 19:20:42 #4
128033 eer-ik
Koning. Ja, nog steeds.
pi_35298342
Hallo allemaal, ik heb een probleempje, namelijk ik heb zo'n VBulletin forum, maar ik kan deze niet installeren op mijn server. Ik heb de mogelijkheid tot PHP en MySQL, maar ik krijg de melding bij stap 3 dat er iets is foutgegaan. Het gaat om http://www.wapata.nl/forum/install/install.php?step=3
Bij http://www.wapata.nl/forum/install/install.php?step=2 kun je ervoor kiezen om de database te legen en het nog een keer te proberen, maar dat lukt me niet.
Weet iemand wat ik hieraan kan doen?
Alvast bedankt,
Erik
Signature.
pi_35299721
Stel dat ik op mijn thuisserver eenofandere grote site ga rippen en in de database stop, zodat ik op een gegeven moment >1 gig aan data in MySQL heb. Probeert MySQL dat dan permanent in het geheugen te laden, zodat ik een gigantische (langzame) swapfile krijg? Of wordt het bij een query pas van de schijf gelezen en is het alsnog langzaam, maar zit het niet permanent in het geheugen?
pi_35300705
quote:
Op maandag 20 februari 2006 19:54 schreef Nevermind het volgende:
Stel dat ik op mijn thuisserver eenofandere grote site ga rippen en in de database stop, zodat ik op een gegeven moment >1 gig aan data in MySQL heb. Probeert MySQL dat dan permanent in het geheugen te laden, zodat ik een gigantische (langzame) swapfile krijg? Of wordt het bij een query pas van de schijf gelezen en is het alsnog langzaam, maar zit het niet permanent in het geheugen?
Waarom zou hij het in een swapfile zetten als het ook gewoon op je schijf staat?Het lijkt me handiger als MySql de index in zijn geheugen zet en de rest van schijf leest ofzo...
Ik kan me iig niet voorstellen dat er gebeurd wat jij zegt vraagt.

[ Bericht 1% gewijzigd door ikke_ook op 20-02-2006 20:32:19 ]
pi_35301139
quote:
Op maandag 20 februari 2006 20:12 schreef ikke_ook het volgende:

[..]

Waarom zou hij het in een swapfile zetten als het ook gewoon op je schijf staat?Het lijkt me handiger als MySql de index in zijn geheugen zet en de rest van schijf leest ofzo...
Ik kan me iig niet voorstellen dat er gebeurd wat jij zegt.
Ik zeg het ook niet, ik vraag het
pi_35303809
quote:
Op maandag 20 februari 2006 19:20 schreef eer-ik het volgende:
Hallo allemaal, ik heb een probleempje, namelijk ik heb zo'n VBulletin forum, maar ik kan deze niet installeren op mijn server. Ik heb de mogelijkheid tot PHP en MySQL, maar ik krijg de melding bij stap 3 dat er iets is foutgegaan. Het gaat om http://www.wapata.nl/forum/install/install.php?step=3
Bij http://www.wapata.nl/forum/install/install.php?step=2 kun je ervoor kiezen om de database te legen en het nog een keer te proberen, maar dat lukt me niet.
Weet iemand wat ik hieraan kan doen?
Alvast bedankt,
Erik
kijk eerder eens op de vBulletin forum. Volgens mij is er wel vrij duidelijke handleiding. Met je vraag kunnen we niets. Misschien specifiekere vraag over wat je moet invullen maar niet zeker weet?
  maandag 20 februari 2006 @ 21:22:59 #9
128033 eer-ik
Koning. Ja, nog steeds.
pi_35304230
Nou, kijk, ik heb de config file gewoon ingevuld, en dat heb ik een paar keer nagekeken, maar daar staat niks mis in...
Ik krijg de volgende melding:
quote:
Database error in vBulletin :

Invalid SQL:

CREATE TABLE deletionlog (
primaryid INT UNSIGNED NOT NULL DEFAULT '0',
type ENUM('post', 'thread') DEFAULT 'post',
userid INT UNSIGNED NOT NULL DEFAULT '0',
username VARCHAR(100) NOT NULL DEFAULT '',
reason VARCHAR(125) NOT NULL DEFAULT '',
PRIMARY KEY (primaryid, type)
);

MySQL Error : All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead
Error Number : 1171
Date : Monday, February 20th 2006 @ 09:19:05 PM
Script : http://www.wapata.nl/Vbulletin/install/install.php?step=3&emptydb=true&confirm=true
Referrer : http://www.wapata.nl/Vbulletin/install/install.php?step=3&emptydb=true&confirm=true
IP Address : 80.127.69.223
Username :
Classname : vb_database
Maar het probleem is, dat ik daar geen kont van snap
Ik heb wel al op de site van Vbulletin gekeken, maar daar word ik ook niet echt veel wijzer van ...

Dit script maakt alle tabellen zelf, maar deze tabel kan hij niet maken denk ik?
Signature.
pi_35304788
Maakt hij de database zelf ook? Kun je zien of er tabellen zijn aangemaakt via phpmyadmin oid (ik neem aan dat je het niet op een eigen webserver installeert, maar op een webhoster?
pi_35305015
De primary keys moeten allen NOT NULL zijn. primaryid is dat wel, maar type niet.

Ik zou niet weten waarom type OOK een primaryid moet zijn, dus kun je dat 'type' er niet uit halen? Ofwel, kun je de SQL wijzigen?

edit: En uhhh, uberhaupt op het forum daarzo gezocht? http://www.vbulletin.com/forum/search.php?searchid=256068
pi_35305162
-

[ Bericht 100% gewijzigd door the_disheaver op 20-02-2006 21:40:22 ]
  maandag 20 februari 2006 @ 21:58:35 #13
128033 eer-ik
Koning. Ja, nog steeds.
pi_35306139
eeeuh, nee, de database maakt hij niet zelf, die heet wapata.
Er zijn wel tabellen aangemaakt inderdaad, maar hij komt niet verder dan datastore...
http://i1.tinypic.com/o7k5jq.jpg
Daar het plaatje, kan je het evt zien...
En, nee, niet op het forum gekeken eigenlijk
Signature.
pi_35306273
quote:
Op maandag 20 februari 2006 21:58 schreef eer-ik het volgende:

En, nee, niet op het forum gekeken eigenlijk
Doe dat dan toch maar wel... Het probleem is vaker voorgekomen, en oplossing staat er ook wel bij.
  maandag 20 februari 2006 @ 22:08:43 #15
128033 eer-ik
Koning. Ja, nog steeds.
pi_35306667
magnificent, het werkt allemaal
iig bedankt!
Signature.
pi_35307197
quote:
Op maandag 20 februari 2006 19:54 schreef Nevermind het volgende:
Stel dat ik op mijn thuisserver eenofandere grote site ga rippen en in de database stop, zodat ik op een gegeven moment >1 gig aan data in MySQL heb. Probeert MySQL dat dan permanent in het geheugen te laden, zodat ik een gigantische (langzame) swapfile krijg?
MySQL heeft strakke restricties op het geheugengebruik, waarschijnlijk zal een groot deel van de indices en bepaalde delen van de data wel gecached worden door MySQL zelf. Voor de rest kun je prima vertrouwen op de block cache van het besturingssysteem waar het op draait.
quote:
Of wordt het bij een query pas van de schijf gelezen en is het alsnog langzaam, maar zit het niet permanent in het geheugen?
Een query hoeft niet langzaam te zijn, zolang je maar de juiste indices gebruikt.
pi_35310055
ik heb een script dat stats in mijn database pompt maar ik wil er een error check in dat wanneer de pagina niet geladen kan worden dat hij bijvoorbeeld refreshed en nog eens probeert en dat er een mailtje wordt gestuurd bijvoorbeeld
de code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$lines
= file('http://URL');
while(
$i &lt; 300)
{
preg_match_all($regex,$lines[$i],$needle);
  
$needle = split(' ',$needle[0][0]);
  if(
$needle[0] != '' && is_numeric($needle[0]))
  {
    
$query = RunQuery("INSERT INTO");
    
CloseConDB($con);
    exit;
  }
$i++;
}
?>


de niet echt nuttige info er eff uitgewerkt

i wordt nu gebruikt om een x aantal rijen af te gaan (deze rij is variable en daaarom moet ik een loop gebruiken!)
nou heb ik dus de vraag: hoe kan ik zo slim mogelijk een error check erin zetten zodat bij een "pagina kan niet worden gevonden" error hij refreshed en/of iets anders doet?


yips only dus e.v.t. functies die ik zou moeten gebruiken, wil zelf ontdekken hoe de vork in de steel zit, geven jullie me maar de vork en de steel

[ Bericht 5% gewijzigd door mschol op 20-02-2006 23:23:17 ]
pi_35318190
$view = "0";

if ($view){ echo "check"; }

ziet hij $view als een boolean ofzo? want hij echoed geen check?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_35318226
Welkom tot de wereld van PHP's Loose Typing

Het houdt in dat het type van variabelen los kan worden omgezet. De string '0' is gelijk aan de boolean false, en omdat je daar een if-constructie hebt die op een boolean slaat wordt de string $view ook zo behandeld.

Als je een goede boolean check wilt doen, doe je dit:

$view = '0';

if ($view === true) { echo 'check'; }

Drie is-tekens dus om ook het type te controleren. Wil je weten of er iets in de string zit, dan kan dat op verschillende manieren:

if ($view != '') {}
if (strlen($view) > 0) {}

Etc
pi_35318672
aaaah

tenks!

en isset($view)?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_35331789
quote:
Op dinsdag 21 februari 2006 09:48 schreef Desdinova het volgende:
en isset($view)?
Die bepaalt of een variabele bestaat. Wat houd je tegen om het uit te proberen?
pi_35347846
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
<?php
$query
= "SELECT * FROM MRprocesses WHERE MasterID = '0' ORDER BY Name ASC";
$result = mysql_query($query);

while (
$row = mysql_fetch_object($result)){

    
$query2 = "SELECT * FROM MRprocesses WHERE MasterID = '".$row-&gt;ID."' ORDER BY Name ASC";
    
$result2 = mysql_query($query2);
    
    while (
$row2 = mysql_fetch_object($result2)){
    
        
$query3 = "SELECT * FROM MRprocesses WHERE MasterID = '".$row2-&gt;ID."' ORDER BY Name ASC";
        
$result3 = mysql_query($query3);
        
        while (
$row3 = mysql_fetch_object($result3)){
            
            
$query4 = "SELECT * FROM MRprocesses WHERE MasterID = '".$row3-&gt;ID."' ORDER BY Name ASC";
            
$result4 = mysql_query($query4);
        
            while (
$row4 = mysql_fetch_object($result4)){
            
            }
        }
    }
}
?>


kan dit automatisch tot in het oneindige? dus tot er geen resultaat meer is zeg maar?
pi_35348003
@InsaneM666

Ja, maar dat kun je beter met een recursieve functie doen. Overigens is zo'n operatie wel érg databaseintensief, in de vorige topics zijn een paar treestructuren besproken waarvan je er wellicht een paar van kunt gebruiken
pi_35367923
quote:
Op maandag 20 februari 2006 23:15 schreef mschol het volgende:
ik heb een script dat stats in mijn database pompt maar ik wil er een error check in dat wanneer de pagina niet geladen kan worden dat hij bijvoorbeeld refreshed en nog eens probeert en dat er een mailtje wordt gestuurd bijvoorbeeld
de code:
[ code verwijderd ]

de niet echt nuttige info er eff uitgewerkt

i wordt nu gebruikt om een x aantal rijen af te gaan (deze rij is variable en daaarom moet ik een loop gebruiken!)
nou heb ik dus de vraag: hoe kan ik zo slim mogelijk een error check erin zetten zodat bij een "pagina kan niet worden gevonden" error hij refreshed en/of iets anders doet?


yips only dus e.v.t. functies die ik zou moeten gebruiken, wil zelf ontdekken hoe de vork in de steel zit, geven jullie me maar de vork en de steel
niemand ?
pi_35368336
lijkt mij dat als je page niet wordt geladen, je hele script niet aangeroepen wordt?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_35368378
quote:
Op woensdag 22 februari 2006 15:50 schreef mschol het volgende:

[..]

niemand ?
Ik snap niet wat je wilt doen. Wil je externe pagina's opvragen en zodra dit niet lukt iets anders doen? What about zoiets:

1
2
3
4
5
6
7
8
9
10
11
foreach ($sites as $site) {
    $fp = @fopen($site, 'r');
    if (!$fp) {
        $failed = true;
        break;
    }
}
...
if ($failed === true) {
    //stuur mail
}
pi_35372858
quote:
Op dinsdag 21 februari 2006 22:49 schreef InsaneM666 het volgende:

[ code verwijderd ]

kan dit automatisch tot in het oneindige? dus tot er geen resultaat meer is zeg maar?
Probeer je een parent-child tree te bouwen? Dan kun je wellicht beter alles uit de database halen en met php in elkaar zetten.
  woensdag 22 februari 2006 @ 18:12:05 #28
37634 wobbel
Da WoBBeL King
pi_35373666
Ik heb een .m3u file in het volgende formaat:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#EXTINF:199,Smashmouth - All Star
D:\MP3\Februari 2006\Smashmouth - Allstar.mp3
#EXTINF:208,Soulvation - Reset Your Brain
D:\MP3\Februari 2006\Soulvation - Reset Your Brain.mp3
#EXTINF:283,Sunblock - I'll Be Ready (Extended version)
D:\MP3\Februari 2006\Sunblock - I'll Be Ready .mp3
#EXTINF:247,Survivor - Eye Of The Tiger
D:\MP3\Februari 2006\Survivor - Eye Of The Tiger.mp3
#EXTINF:350,System F - Out of the Blue
D:\MP3\Februari 2006\System F - Out Of The Blue.mp3
#EXTINF:188,Tatu - Friend Or Foe
D:\MP3\Februari 2006\Tatu - Friend Or Foe.mp3
#EXTINF:260,The Bloodhound Gang - Uhn Tiss Uhn Tiss Uhn Tiss
D:\MP3\Februari 2006\The Bloodhound Gang - Uhn Tiss Uhn Tiss Uhn Tiss.mp3
#EXTINF:213,The Source ft. Candi Staton - You Got The Love
D:\MP3\Februari 2006\The Source ft. Candi Staton - You Got The Love.mp3


Hoe zorg ik ervoor dat ik het getal achter de #EXTINF: krijg (dus 288, 205, 204, 213 etc), de titel achter de komma bij het getal (dus artiest en titel) en de locatie (D:\mp3\februari 2006\young j...etc)

Hoe zorg ik ervoor dat ik dat allemaal uit elkaar haal en apart in strings stop zodat ik elk gegeven in een record kan stoppen?

Dus:
$tijd = 213
$titel = The Source ft. Candi Staton - You Got The Love
$locatie = D:\MP3\Februari 2006\The Source ft. Candi Staton - You Got The Love.mp3

Heel simpel beginseltje

1
2
3
4
5
6
7
8
9
10
<?php
php
$data
= file("playlist.m3u");

foreach (
$data as $entry)
{

}

?>
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 19:45:59 #29
1972 Swetsenegger
Egocentrische Narcist
pi_35377657
Simpele vraag.

Ik gebruik nu addslashes in combinatie met een if(!get_magic_quotes_gpc()). Indien magic quotes uitstaat, slash ik mijn data dus.

Maar op de een of andere manier krijg ik toch een foutmelding op mijn query wanneer een item een quote of dubbele quote bevat.

Eerste vraag: waarom?

Tweede vraag. Wat is het verschil met bovenstaande en mysql_real_escape_string?
pi_35377938
Je doet iets als

1$sql = "SELECT foo FROM bar WHERE baz='" . addslashes($string) . "'";


en toch krijg je een foutmelding over een niet-geescapete quote?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 19:53:42 #31
1972 Swetsenegger
Egocentrische Narcist
pi_35377942
quote:
Op woensdag 22 februari 2006 18:12 schreef wobbel het volgende:
Ik heb een .m3u file in het volgende formaat:
[ code verwijderd ]

Hoe zorg ik ervoor dat ik het getal achter de #EXTINF: krijg (dus 288, 205, 204, 213 etc), de titel achter de komma bij het getal (dus artiest en titel) en de locatie (D:\mp3\februari 2006\young j...etc)

Hoe zorg ik ervoor dat ik dat allemaal uit elkaar haal en apart in strings stop zodat ik elk gegeven in een record kan stoppen?

Dus:
$tijd = 213
$titel = The Source ft. Candi Staton - You Got The Love
$locatie = D:\MP3\Februari 2006\The Source ft. Candi Staton - You Got The Love.mp3

Heel simpel beginseltje
[ code verwijderd ]
www.php.net/explode
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 19:57:49 #32
1972 Swetsenegger
Egocentrische Narcist
pi_35378114
quote:
Op woensdag 22 februari 2006 19:53 schreef SuperRembo het volgende:
Je doet iets als
[ code verwijderd ]

en toch krijg je een foutmelding over een niet-geescapete quote?
1
2
3
4
5
6
7
8
9
10
11
<?php
if(!get_magic_quotes_gpc())
                                {
                                
$author=addslashes($author);
                                
$title=addslashes($title);
                                
$description=addslashes($description);
                                }
$query="INSERT INTO tabel
            (id,iuser,send,genre,ISBN,author,title,description,price,image,update_id,date)
            VALUES(0,48,1,'"
.$genre."','".$isbn."','".$author."','".$title."','".$description."','".$price."','$image','$update_id',NOW())";
?>


En ik krijg dus fouten terug van records welke niet geplaatst kunnen worden
You have an error near "'s morgens in alle vroegte, xxxxx,xxxxx"

Op de quotes krijg ik dus een error
Ik heb het nu zojuist vervangen in:

1
2
3
4
5
<?php
$author
=mysql_real_escape_string($author);
$title=mysql_real_escape_string($title);
$description=mysql_real_escape_string($description);
?>


Dus zonder te kijken of magic_quotes aanstaat
En dan loopt mijn loopje zonder fouten door alle records. Het valt me wel op dat met de laatste de data niet escaped in de tabel staat.
pi_35378490
Het verschil tussen addslashes en mysql_real_escape_string zit er zo te zien (in de manual) vooral in dat die laatste ook dingen als carriage return en newline tekens. En dat zou best het verschil kunnen maken als je description uit een textarea komt.
De beste aanpak is denk ik om altijd als magic quotes aan staan stripslashes over $_GET / $_POST te halen. Als je de sql samenstelt dan gebruik je mysql_real_escape_string.
quote:
Het valt me wel op dat met de laatste de data niet escaped in de tabel staat.
Dan staat magic quotes blijkbaar uit
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 20:10:29 #34
1972 Swetsenegger
Egocentrische Narcist
pi_35378667
quote:
Op woensdag 22 februari 2006 20:06 schreef SuperRembo het volgende:
Het verschil tussen addslashes en mysql_real_escape_string zit er zo te zien (in de manual) vooral in dat die laatste ook dingen als carriage return en newline tekens. En dat zou best het verschil kunnen maken als je description uit een textarea komt.
De beste aanpak is denk ik om altijd als magic quotes aan staan stripslashes over $_GET / $_POST te halen. Als je de sql samenstelt dan gebruik je mysql_real_escape_string.
Stripslashes als het uit een $_POST komt Waarom? magicquotes gaat pas bij een qeury toch slashen?

In dit geval komt de data uit een CSV omdat ik 2000 records in 1 keer moet plaatsen. De code komt min of meer rechtstreeks uit de life website, waar de data WEL uit $_POST komt. Daar gaat het overigens goed.

Maar slashed mysql_real_escape_string de data dan alleen 'virtueel' voor de query ofzo? Want zoals gezegd staat de data niet ge-escaped in de tabel.
pi_35378927
quote:
Op woensdag 22 februari 2006 20:10 schreef Swetsenegger het volgende:

[..]

Stripslashes als het uit een $_POST komt Waarom? magicquotes gaat pas bij een qeury toch slashen?

In dit geval komt de data uit een CSV omdat ik 2000 records in 1 keer moet plaatsen. De code komt min of meer rechtstreeks uit de life website, waar de data WEL uit $_POST komt. Daar gaat het overigens goed.

Maar slashed mysql_real_escape_string de data dan alleen 'virtueel' voor de query ofzo? Want zoals gezegd staat de data niet ge-escaped in de tabel.
magic_quotes slasht alles wat zich in $_POST/$_GET/etc. bevind?
Ik gebruik doorgaans dit:
1
2
3
4
5
6
7
8
9
   if(get_magic_quotes_gpc()) {
      foreach($_GET as $key => $getval) {
         $_GET[$key] = stripslashes($getval);
      }
      foreach($_POST as $key => $postval) {
         $_POST[$key] = stripslashes($postval);
      }
      
   }
pi_35379404
quote:
Op woensdag 22 februari 2006 20:10 schreef Swetsenegger het volgende:

[..]

Stripslashes als het uit een $_POST komt Waarom? magicquotes gaat pas bij een qeury toch slashen?
Nope, zoals hierboven wordt gezegd wordt op alle $_POST, $_GET en $_COOKIE-variabelen addslashes() toegepast op het begin van het script. Normaal doe je dus een stripslashes() op die variabelen op het begin van het script indien magic_quotes_gpc aanstaat, en weer een addslashes() of mysql_real_escape_string() als je het in de query gaat zetten. En niet eerder
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 20:27:53 #37
1972 Swetsenegger
Egocentrische Narcist
pi_35379503
quote:
Op woensdag 22 februari 2006 20:26 schreef JeRa het volgende:

[..]

Nope, zoals hierboven wordt gezegd wordt op alle $_POST, $_GET en $_COOKIE-variabelen addslashes() toegepast op het begin van het script. Normaal doe je dus een stripslashes() op die variabelen op het begin van het script indien magic_quotes_gpc aanstaat, en weer een addslashes() of mysql_real_escape_string() als je het in de query gaat zetten. En niet eerder
Ok, ik slash dus data wanneer het de query ingaat (mits magic quotes uitstaan)
Dus er wordt gepost, ik addslashes, ik insert.

Dat is dus niet goed

-edit- of eigenlijk wel, als ik tussendoor wat met de data doe strip ik wel slashes.
pi_35379776
quote:
Op woensdag 22 februari 2006 20:10 schreef Swetsenegger het volgende:

[..]

Stripslashes als het uit een $_POST komt Waarom? magicquotes gaat pas bij een qeury toch slashen?
Zo magic is magic quotes gpc niet
Magic quotes GPC is gewoon lomp en escaped alle quotes in Get Post en Cookies.
Dat kan problemen geven als je die gegevens wil valideren. Of als je het helemaal niet in een sql string wil gebruiken, zouals een preview in html. Of als je een string op een bepaalde lengte af wil kappen; dan klopt de lengte niet en je het het risico dat je string eindigt op een backslash.
En nu blijkt het ook niet eens altijd te werken
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35379955
quote:
Op woensdag 22 februari 2006 20:32 schreef SuperRembo het volgende:

[..]

Zo magic is magic quotes gpc niet
Magic quotes GPC is gewoon lomp en escaped alle quotes in Get Post en Cookies.
Dat kan problemen geven als je die gegevens wil valideren. Of als je het helemaal niet in een sql string wil gebruiken, zouals een preview in html. Of als je een string op een bepaalde lengte af wil kappen; dan klopt de lengte niet en je het het risico dat je string eindigt op een backslash.
En nu blijkt het ook niet eens altijd te werken
En daarbij komt nog eens het feit dat je het risico loopt dubbel te escapen natuurlijk, bijvoorbeeld als je script van server wisselt.

Wat dat betreft hadden ze magic qoutes/register_globals, en nog wat functies beter weg kunnen laten.
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 20:40:38 #40
1972 Swetsenegger
Egocentrische Narcist
pi_35380228
quote:
Op woensdag 22 februari 2006 20:32 schreef SuperRembo het volgende:

[..]

Zo magic is magic quotes gpc niet
Magic quotes GPC is gewoon lomp en escaped alle quotes in Get Post en Cookies.
Dat kan problemen geven als je die gegevens wil valideren. Of als je het helemaal niet in een sql string wil gebruiken, zouals een preview in html. Of als je een string op een bepaalde lengte af wil kappen; dan klopt de lengte niet en je het het risico dat je string eindigt op een backslash.
En nu blijkt het ook niet eens altijd te werken
Fuck, met valideren en dergelijke had ik er eigenlijk helemaal nog niet bij nagedacht.
Hmz, gelukkig staat het op de meeste servers uit, maar wel iets om rekening mee te houden.

Thnks
pi_35380286
quote:
Op woensdag 22 februari 2006 20:36 schreef DutchBlood het volgende:
Wat dat betreft hadden ze magic qoutes/register_globals, en nog wat functies beter weg kunnen laten.
Dat is ook de aanbevolen instelling. Maar om een of andere reden staat het bij webhosts vaak wel aan. Het zal wel zijn omdat ouwe brakke scripts niet goed werken
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35380566
quote:
Op woensdag 22 februari 2006 20:40 schreef Swetsenegger het volgende:

[..]

Fuck, met valideren en dergelijke had ik er eigenlijk helemaal nog niet bij nagedacht.
Hmz, gelukkig staat het op de meeste servers uit, maar wel iets om rekening mee te houden.

Thnks
Daarom is het ook aan te raden om aan het begin van elk script iets te includen/require_once-en wat er voor zorgt dat er gestriptslashed wordt wanneer dat nodig is.
pi_35380650
quote:
Op woensdag 22 februari 2006 20:41 schreef SuperRembo het volgende:

[..]

Dat is ook de aanbevolen instelling. Maar om een of andere reden staat het bij webhosts vaak wel aan. Het zal wel zijn omdat ouwe brakke scripts niet goed werken
Uitermate irritant is dat ja. Heb vaak genoeg scripts die niet meer werken doordat het aan staat. Dit omdat sommige variabelen dan ineens 'vervangen' worden.
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 20:50:05 #44
1972 Swetsenegger
Egocentrische Narcist
pi_35380744
quote:
Op woensdag 22 februari 2006 20:47 schreef DutchBlood het volgende:

[..]

Daarom is het ook aan te raden om aan het begin van elk script iets te includen/require_once-en wat er voor zorgt dat er gestriptslashed wordt wanneer dat nodig is.
Inderdaad binnenkort een functie voor schrijven
Dus... stripslashes van alle userinput.
mysql_rela_escape_string bij ALLE data welke de db ingaat.
Dat laatste voorwaardelijk (dus if(!get_magic_quotes_gpc())) of ALTIJD?
quote:
En daarbij komt nog eens het feit dat je het risico loopt dubbel te escapen natuurlijk, bijvoorbeeld als je script van server wisselt.
Dat voorkom je door te controleren of magic quotes GPC aanstaat
pi_35380907
@Swetsenegger

Stripslashes() op het begin van je script, afhankelijk van get_magic_quotes_gpc().
Áltijd addslashen als het in een query gaat
pi_35380994
quote:
Op woensdag 22 februari 2006 20:50 schreef Swetsenegger het volgende:

[..]

Inderdaad binnenkort een functie voor schrijven
Dus... stripslashes van alle userinput.
mysql_rela_escape_string bij ALLE data welke de db ingaat.
Dat laatste voorwaardelijk (dus if(!get_magic_quotes_gpc())) of ALTIJD?
[..]

Dat voorkom je door te controleren of magic quotes GPC aanstaat
Van http://nl3.php.net/manual/nl/function.get-magic-quotes-gpc.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if (get_magic_quotes_gpc()) {
   function stripslashes_deep($value)
   {
       $value = is_array($value) ?
                   array_map('stripslashes_deep', $value) :
                   stripslashes($value);

       return $value;
   }

   $_POST = array_map('stripslashes_deep', $_POST);
   $_GET = array_map('stripslashes_deep', $_GET);
   $_COOKIE = array_map('stripslashes_deep', $_COOKIE);

?>
pi_35381088
quote:
Op woensdag 22 februari 2006 20:47 schreef DutchBlood het volgende:

[..]

Daarom is het ook aan te raden om aan het begin van elk script iets te includen/require_once-en wat er voor zorgt dat er gestriptslashed wordt wanneer dat nodig is.
Op apache kan je het ook uitzetten door een regeltje in .htaccess:

1php_flag magic_quotes_gpc off
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35381415
quote:
Op woensdag 22 februari 2006 20:55 schreef DutchBlood het volgende:

[..]

Van http://nl3.php.net/manual/nl/function.get-magic-quotes-gpc.php
[ code verwijderd ]
Kan dat eigelijk niet beter (sneller) met array_walk?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35382682
Volgens de comments op php.net niet.

Maar werkt die regel in de .htaccess altijd? Of heb je er rechten voor nodig @ apache.
pi_35383055
quote:
Op woensdag 22 februari 2006 16:01 schreef JeRa het volgende:

[..]

Ik snap niet wat je wilt doen. Wil je externe pagina's opvragen en zodra dit niet lukt iets anders doen? What about zoiets:
[ code verwijderd ]
ik zal proberen het te verduidelekijen

elke dag om 0:00 wordt mijn php.exe aangeroepen met een script, dit script leest d.m.v. file() een bepaalde pagina waar statistieken op staan. (en zet ze in de database, als ze gevonden zijn anders doet hij niks)

Wat doet het script precies:
laad de pagina d.m.v. file() in de variable $lines
vervolgens gaat hij een while in om de regel te vinden waar de statistieken in staan (d.m.v. een preg_match()), als hij een match heeft gevonden dan zet hij het resultaat in de database:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$i
=80;
$lines = file('http://URL');
while(
$i &lt; 300)
{
preg_match_all($regex,$lines[$i],$needle);
  
$needle = split(' ',$needle[0][0]);
  if(
$needle[0] != '' && is_numeric($needle[0]))
  {
    
$query = RunQuery("INSERT INTO");
    
CloseConDB($con);
    exit;
  }
$i++;
}
?>

mijn (probleem)punten:
1. de pagina die wordt geladen veranderdt veel en heeft dus niet telkens een standaard regel nummer waar de statistieken staan
- kan dit efficienter?

2. als de site plat ligt of mijn internetverbinding is overbelast dan krijg ik een "pagina kan niet worden gevonden" pagina die wordt gelezen.
- hier zit me echte probleem: ik wil dat ik dit in het script kan op vangen door bijvoorbeeld te zeggen dat het script nogmaals de pagina moet proberen te laden totdat het lukt..
ik hoop dat het nu iets duidelijker is...
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')