Bullshit, er zijn een hoop domme users die niet opletten waar ze klikken, daar moet je ook rekening mee houden. En veel XXS exploits gaan wel via Javascript btwquote:Op vrijdag 22 juni 2007 19:42 schreef WyriHaximus het volgende:
[..]
Dan moeten ze gewoon opletten waar ze op klikken imo. Meeste XSS exploits hebben niks met de browser te maken maar met de serverside software
.
Dus moeten ze gewoon opletten waar ze opklikkenquote:Op vrijdag 22 juni 2007 20:03 schreef super-muffin het volgende:
[..]
Bullshit, er zijn een hoop domme users die niet opletten waar ze klikken, daar moet je ook rekening mee houden. En veel XXS exploits gaan wel via Javascript btw
En dat percentage van gebruikers die Javascript uit hebben was maar uit m'n mouw geschud, maar kwam wel redelijk in de buurt gezien deze pagina.
1 2 3 4 5 6 7 8 9 10 11 12 13 | $arr = explode("i",$str); $str = ""; if(count($arr) > 1) { for($i = 0; $i < count($arr)-2; $i++) { $str = $str . $arr[$i] . "i"; } $str = $str . $arr[count($arr)-2] . "TEST" . $arr[count($arr)-1]; } else { $str = $arr[0]; } return ucfirst($str); } |
quote:Op vrijdag 22 juni 2007 20:58 schreef splendor het volgende:
Ik ben op zoek naar een functie die een bepaalde letter in een zin of woord kan vervangen, maar het moet de laatste zijn als hij meerdere keren voorkomt.
Voorbeeld: Dit is een test zin.
de laatste i, in zin dus, moet vervangen worden door TEST of wat dan ook.
In php5 kan dit met str_replace en dan een -1 als laatste op te geven, maar in php4 werkt dit nog niet. Heeft iemand een idee hoe ik dit makkelijk kan aanpakken? Als het even kan ook nog case insensitive.
Ik heb nu deze functie:
[ code verwijderd ]
Maar dat is erg omslachtig en daarbij werkt hij niet met hoofdletters.
Iemand een idee want dit kan vast veel en veel makkelijker, eventueel met een reg expresion? :s)
1 2 3 4 5 6 7 8 9 | $zoek = ''; $vervang = ''; $text = ''; $ex = explode($zoek,$text); $newtext = $vervang . $ex[(count($ex)-1)]; unset($ex[(count($ex)-1)]); $newtext = implode($zoek,$ex) . $newtex; ?> |
Altijd goed om te kijken of het simpeler kanquote:Op vrijdag 22 juni 2007 21:32 schreef splendor het volgende:
Dat is al een heel stuk compacter ja.En werkt goed volgens mij.
Source? We kunnen zo niet heel veel zienquote:Op vrijdag 22 juni 2007 22:31 schreef derrudyjah het volgende:
Hopelijk weten jullie hier een antwoord op mijn vraag. Ik werk in een bepaald scriptje met sessions. Op mijn eigen servertje draait dit prima, maar als ik dit bij NXS internet op de server zet gaat hij zelf een waarde aan SESSION geven. Ik gebruik session alleen om een userid door te geven, en hier maakt hij altijd 13 of 15 van, terwijl ik toch aan het begin deze uit een database haal, maar dit overschrijft hij dus gewoon.
Kortom; HELP!
Excuus, je hebt gelijkquote:Op vrijdag 22 juni 2007 22:33 schreef WyriHaximus het volgende:
[..]
Source? We kunnen zo niet heel veel zien.
Hmmm dat zou goed moeten zijnquote:Op vrijdag 22 juni 2007 22:39 schreef derrudyjah het volgende:
[..]
Excuus, je hebt gelijk![]()
Hier een voorbeeldje waarin ik een berichtje verstuur aan de hand van de id van de user die dan is ingelogd:
$sendto=$_GET['id'];
$sendfrom=$_SESSION['id'];
$query="select name,avatar,location from users where id='$sendto'";
$result = mysql_query($query);
$record=mysql_fetch_array($result);
$name = $record[name];
?>
<TABLE BORDER="0" CELLSPACING="0" WIDTH="648" BGCOLOR="black">
<TR>
<TD>
<table border="0" width="647" bgcolor="<?echo$color?>">
<TR>
<TD>
Bericht aan <?echo$name?>:</td></tr>
<form action="?page=send_message" method=POST>
<TR><TD><input name="to" value="<?echo$to?>" type="hidden"></td></tr>
<TR><TD><input name="from" value="<?echo$sendfrom?>" type="hidden"></td></tr>
<TR><TD>Onderwerp:</td><td><input type="text" name="subject"></td></tr>
<TR><TD>Bericht:</td><td><textarea name="message" cols="50" rows="10">
----------------------------------
In dit geval zou hij op session 1 uit moeten komen, omdat dat mijn id is uit de db, maar hij maakt er 13 van.
Probeer het eens met FF. Dan kan je het specifieke cookie weg gooienquote:Op vrijdag 22 juni 2007 22:54 schreef derrudyjah het volgende:
Wel session_destroy als je dat bedoelt... browser (IE7) dicht, en opnieuw open. Het mag allemaal niet baten.
Ook niet als je naar Edit -> Preferences -> Privacy -> Show Cookies gaat?quote:Op vrijdag 22 juni 2007 23:09 schreef derrudyjah het volgende:
Daar geeft hij (in tegenstelling tot wanneer ik de boel lokaal had staan) nergens aan dat er cookies of sessions aan het werk zijn....
Klopt want je session word serverside opgeslagen en aan de hand van je cookie tevoorschijn getoverdquote:Op zaterdag 23 juni 2007 00:14 schreef derrudyjah het volgende:
Dan zie ik iid de cookies, maar niet de session
Goed en de id is nog steeds fout? Maar wat ik eerder zei. Word het uberhaupt goed in $_SESSION gezet?quote:Op zaterdag 23 juni 2007 00:50 schreef derrudyjah het volgende:
ok, in dat geval; al de cookies die ik gebruik (zijn er 2) staan er.
1 2 3 4 5 6 7 8 9 10 | function AddUser($uid, $naam) { $resultaat = mysql_query("SELECT COUNT(*) FROM user WHERE ". "ID = '$uid'") or die(mysql_error()); $gegevens = mysql_fetch_assoc($resultaat); if ($gegevens["COUNT(*)"]!=0) return; mysql_query("INSERT INTO user SET ID = '$uid', Naam = '$naam'") or die(mysql_error()); } ?> |
Ja, zeker weten.quote:Op zaterdag 23 juni 2007 01:14 schreef WyriHaximus het volgende:
[..]
Goed en de id is nog steeds fout? Maar wat ik eerder zei. Word het uberhaupt goed in $_SESSION gezet?
Trapped in the anti-spambot trap and is banned forever!!!quote:Op vrijdag 22 juni 2007 19:14 schreef WyriHaximus het volgende:
Tof heb me pwnd.php geïmplementeerd.
quote:Op zaterdag 23 juni 2007 10:32 schreef Igen het volgende:
Het volgende stukje code doet bij bij soms raar:
[ code verwijderd ]
Het programma draait altijd maar één keer tegelijk. Toch knalt het programma af en toe eruit bij de INSERT omdat ik een dubbele ID zou proberen in te voegen. Waarom? :?
1 2 3 4 5 6 7 8 9 | function AddUser($uid, $naam) { $resultaat = mysql_query("SELECT COUNT(*) FROM user WHERE ". "ID = '$uid'") or die(mysql_error()); $gegevens = mysql_fetch_assoc($resultaat); if ($gegevens["COUNT(*)"]!=0) return; mysql_query("INSERT INTO user SET ID = '$uid', Naam = '$naam'") or die(mysql_error()); } |
quote:Op zaterdag 23 juni 2007 10:56 schreef Darkomen het volgende:
[..]
Trapped in the anti-spambot trap and is banned forever!!!
FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/includes/class/comment.class.php
LINE: 101
CALL: error_die()
FILE:
LINE:
CALL: comment_class->process()
FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/includes/class/module.class.php
LINE: 348
CALL: call_user_method()
FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/index.php
LINE: 252
CALL: module_class->gen_modules_output()
Hhaa ik ben ook gebanned
Heb je het gecontroleert, hoe zeker je het ook weet? (Ook zo vaak gehad dat het lag aan iets waarvan ik zekers wist dat het goed wasquote:Op zaterdag 23 juni 2007 10:44 schreef derrudyjah het volgende:
[..]
Ja, zeker weten.
$_SESSION["id"] = $id;
$id is een regelrechte uitgifte van de DB.
Je hebt delayed inserts, maar normaal geef dat je op bij het uitvoeren van een query. Die vertraging zal hier mee spelen denk ik.quote:Op zaterdag 23 juni 2007 11:02 schreef Igen het volgende:
Ja, ID is de primary key. Ik kan hem niet op auto_increment zetten, omdat ik deze tabel construeer uit andere gegevens. Ik wil dus alleen INSERT doen als de betreffende ID nog niet in de database voorkomt.
En mijn programmastukje zou precies dat moeten doen, maar zo heel af en toe werkt het dus niet. Kan het met MyISAM gebeuren dat een INSERT een heel klein beetje vertraagd wordt doorgevoerd?
quote:Op zaterdag 23 juni 2007 12:49 schreef smesjz het volgende:
[..]
Je hebt delayed inserts, maar normaal geef dat je op bij het uitvoeren van een query. Die vertraging zal hier niet mee spelen denk ik. Bij erg hoge load kan je ook vertraging krijgen, maar dit lijkt me niet van toepassing.
Leesvoer: http://www.xaprb.com/blog(...)and-update-in-mysql/
Samenvatting:
insert ignore gebruiken of een left outer join op dezelfde tabel.
De eerste methode is het snelst, maar een proprietary, non-standard extension. Laatste methode is langzamer, maar wel onderdeel van SQL standaard.
In beide gevallen is het sneller dan je huidige methode (PHP/SQL).
Nu ja, zo'n 350 inserts direct na elkaar, op een 50 Mhz computer...quote:Bij erg hoge load kan je ook vertraging krijgen, maar dit lijkt me niet van toepassing.
MySql heeft zelf een qeury browser die wel goed werkt; http://www.mysql.com/products/tools/quote:Op zaterdag 23 juni 2007 22:20 schreef -f het volgende:
Even rond zitten kijken maar kan geen GUI ervan vindenvoornamelijk dus alleen tekst?
Nog een kleine update:quote:Op zaterdag 23 juni 2007 13:38 schreef Igen het volgende:
Dat heb ik niet, dus dan is IGNORE vast de beste oplossing.
Misschien eens converteren naar InnoDB? Illegal instruction en Segmentation fault hebben vaak weinig met rot geheugen te maken, eerder met bugs in je applicatie. Welke versie van mysql gebruik je?quote:Op zondag 24 juni 2007 00:37 schreef Igen het volgende:
[..]
Nog een kleine update:
Het schijnt allemaal symptoombestrijding te zijn, want MySQL werkt bij mij gewoon niet echt lekker. De ene keer zegt SELECT dat iets niet in de database zit, maar met INSERT zeurt hij toch over een duplicate key. Zo nu en dan breekt hij een INSERT ook af met "Incorrect key file for table './igen/user.MYI'; try to repair it". En af en toe crasht mysqld met een "Illegal Instruction". Of met een "Segmentation Fault".
Ik vraag me serieus af of transacties je hier gaan helpen. In principe zou IGNORE gewoon moeten werken, maar het lijkt me gewoon een bug in mysqld. Evt. getriggered door een trage CPU en de sparc arch. Welke versie van Solaris draai je? 7?quote:Op zondag 24 juni 2007 10:06 schreef Igen het volgende:
Ik had ook al het plan bedacht om overal InnoDB van te maken, en alle stukjes code met SELECT-INSERT enzo in transacties te stoppen. Dan moeten de gegevens bij beide opdrachten wel gelijk zijn, lijkt mij zo.
'Het' stukje code bestaat niet, hij doet zo nu en dan gek op elke plaats waar SELECT en dan INSERT staat. En op bepaalde plekken gaat het niet anders dan op deze manier.
Ik gebruik overigens MySQL 5.0.37.Op een 50 Mhz Sparc computer met 96 MB RAM.
Het gaat ongeveer eens in de 100.000 keer fout. Dat is iets te weinig reproduceerbaar voor een bugreport, nietwaar?quote:Op zondag 24 juni 2007 12:00 schreef JeRa het volgende:
Segmentation faults zijn vrijwel altijd pointer bugs in applicaties. Als je die tegenkomt in zoiets als MySQL is er iets goed fout en zou je een bugreport kunnen indienen bij de ontwikkelaars van MySQL
Natuurlijk niet, die één op de 100.000 keer dat het fout gaat kun je bijvoorbeeld opvangen met een debugger en het probleem zo isolerenquote:Op zondag 24 juni 2007 12:46 schreef Igen het volgende:
Het gaat ongeveer eens in de 100.000 keer fout. Dat is iets te weinig reproduceerbaar voor een bugreport, nietwaar?
Wat gebruik je als .htaccess code dan?quote:Op zondag 24 juni 2007 12:45 schreef Reneuh het volgende:
Dat ik een 403 forbidden krijg (ik gebruik mod_rewrite), betekent zeker dat er iets veranderd moet worden in de serverinstellingen?
Als je dus naar http://www.hotelmergelland.nl/index.php gaat, dan wordt de url http://www.hotelmergelland.nl/Home. Dan krijg ik die 403. Of ligt dat aan wat anders?
Wat JeRa ook zegt laten afvangen en desnoods dat ding gaan reproduceren door te gaan benchmarken (weet er ff geen beter woord voor) en dan een bug report filen bij MySQLquote:Op zondag 24 juni 2007 12:46 schreef Igen het volgende:
[..]
Het gaat ongeveer eens in de 100.000 keer fout. Dat is iets te weinig reproduceerbaar voor een bugreport, nietwaar?
Dit:quote:Op zondag 24 juni 2007 14:49 schreef WyriHaximus het volgende:
[..]
Wat gebruik je als .htaccess code dan?
1 2 3 4 | RewriteRule ^cms/?$ http://www.hotelmergelland.nl/cms/index.php [R,L] RewriteRule ^([A-Za-z0-9, ']+)/?$ index.php?pid=$1 [L] RewriteRule ^([A-Za-z0-9,_']+)/?$ index.php?pid=$1 [L] |
quote:
1 2 3 4 5 | RewriteRule ^cms/?$ http://www.hotelmergelland.nl/cms/index.php [R,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?pid=$1 [L,QSA] |
Helaaschquote:Op zondag 24 juni 2007 15:40 schreef WyriHaximus het volgende:
[..]
[ code verwijderd ]
Probeer dat eens.
MWah goeie kan je uberhaupt mod_rewrite gebruikenquote:Op maandag 25 juni 2007 10:14 schreef Reneuh het volgende:
[..]
HelaaschIk denk dat de host dit moet oplossen.. Volgens mij staat een instelling niet goed.
Hmmm zorgt dat voor een 500? Nooit gewetenquote:Op maandag 25 juni 2007 11:32 schreef JeRa het volgende:
Een 403 (forbidden) heeft niets te maken met 500 (internal server error) wat je zou krijgen als mod_rewrite niet beschikbaar was
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |