http://monkey.trabot.net/
http://monkey.trabot.net/
Dit is hem dan :o
Ik heb een site gemaakt voor mijn zus, een fanatieke kraler. Zoals je kunt zien staat de site nog op een sub-host, dit mede omdat mijn zus nog geen echte naam heeft.
De lay-out is van een template site, wat aangepast naar eigen wensen natuurlijk. Er komt nog een winkelwagen systeem op, maar hier moet ik nog eens goed over nadenken, de gele balk onderaan moet nog verder uitgebreid worden.
Hier komt een disclaimer, leveringsvoorwaarden en wat snelle shortcut knoppen. Ook zal de site eindelijk worden vertaald naar het engels en duits.
Vandaar de vlaggetjes onderaan.
Ideën over uitbreidingen en aanpassing zijn welkom, net als beargumenteerde kritiek. Er is expres GEEN forum, dit is iets wat mijn zus echt niet wilde. Ter vervanging is er dus een gastenboek, zodat mensen wel eventueel een berichtje kunnen achterlaten. Met het gastenboek ben ik nu bezig, dus dat zal ook vanavond klaar zijn.
Dit is hem dan :o
Ik heb een site gemaakt voor mijn zus, een fanatieke kraler. Zoals je kunt zien staat de site nog op een sub-host, dit mede omdat mijn zus nog geen echte naam heeft.
De lay-out is van een template site, wat aangepast naar eigen wensen natuurlijk. Er komt nog een winkelwagen systeem op, maar hier moet ik nog eens goed over nadenken, de gele balk onderaan moet nog verder uitgebreid worden.
Hier komt een disclaimer, leveringsvoorwaarden en wat snelle shortcut knoppen. Ook zal de site eindelijk worden vertaald naar het engels en duits.
Vandaar de vlaggetjes onderaan.
Ideën over uitbreidingen en aanpassing zijn welkom, net als beargumenteerde kritiek. Er is expres GEEN forum, dit is iets wat mijn zus echt niet wilde. Ter vervanging is er dus een gastenboek, zodat mensen wel eventueel een berichtje kunnen achterlaten. Met het gastenboek ben ik nu bezig, dus dat zal ook vanavond klaar zijn.
Hoe heb je dat probleem met die img nu opgelost?
Ik heb denk ik nog een klein foutje gevonden, als je op bekijk drukt bij armbanden, dan krijg je zo uitleg over die armband, maar die gele band onderaan loopt dan niet meer over heel de breedte van het scherm
Gewijzigd op 01/01/1970 01:00:00 door Mr.Moe
En de rest afgemaakt met float left en right. ^^
Dit heb ik toegepast op alle pagina's omdat ik dit mooi vond staan. Dit kun je goed zien bij "over mij" waar ik twee keer een "post" div heb.
Gelukt! Vanaf nu bent u lid van mijn nieuwsbrief. Afmelden kan altijd op de zelfde wijze als u zich heeft aangemeld.
Terug naar Begin
Ik zou voor de foto's gebruik maken van bv een fotovieuwer als lightbox. Staat altijd zeer netjes en is makkelijk aanpasbaar.
Hij is ook niet gevalideerd door W3C .:)
Wel heb ik de input in het adressenbalk goed beveiligd, aangezien ik op de gehele site overal gebruik maak van $_GET.
Ik zal even dieper ingaan op het beveiligen bij het nieuwsbrief item.
Bedankt voor de tip!
Betreft de foto's, de lightbox is inderdaad een optie, heb er gisteren nog iets overgelezen op het forum hier. Maar wat ik zoiezo wil gaan doen is er een foto bij stoppen wanneer men op "Bekijk" klikt. En dan rechts er van 3 tumbnails van andere foto's, en wanneer daar op geklikt wordt veranderd de "grote" foto naar het grote exemplaar van de tumbnail.
Hopelijk was dat te begrijpen :p. En betreft de W3C validatie, bedoel je de hele site of de foto's?
EDIT: Ik heb de w3c valid check gedaan, en zo te zien kan ik weer even aan de slag. Ik zal eerst eens die errors wegwerken.
Gewijzigd op 01/01/1970 01:00:00 door Steven Hack
Code (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
48
49
50
51
52
53
54
55
56
57
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
48
49
50
51
52
53
54
55
56
57
<?php
function RemoveXSS($val) {
// script van xss hacks
// remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed
// this prevents some character re-spacing such as <java\0script>
// note that you have to handle splits with \n, \r, and \t later since they *are* allowed in some inputs
$val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val);
// straight replacements, the user should never need these since they're normal characters
// this prevents like <IMG SRC=@avascript:alert('XSS')>
$search = 'abcdefghijklmnopqrstuvwxyz';
$search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$search .= '1234567890!@#$%^&*()';
$search .= '~`";:?+/={}[]-_|\'\\';
for ($i = 0; $i < strlen($search); $i++) {
// ;? matches the ;, which is optional
// 0{0,7} matches any padded zeros, which are optional and go up to 8 chars
// @ @ search for the hex values
$val = preg_replace('/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val); // with a ;
// @ @ 0{0,7} matches '0' zero to seven times
$val = preg_replace('/(�{0,8}'.ord($search[$i]).';?)/', $search[$i], $val); // with a ;
}
// now the only remaining whitespace attacks are \t, \n, and \r
$ra1 = Array('javascript', 'vbscript', 'expression', 'applet', 'meta', 'xml', 'blink', 'link', 'style', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base');
$ra2 = Array('onabort', 'onactivate', 'onafterprint', 'onafterupdate', 'onbeforeactivate', 'onbeforecopy', 'onbeforecut', 'onbeforedeactivate', 'onbeforeeditfocus', 'onbeforepaste', 'onbeforeprint', 'onbeforeunload', 'onbeforeupdate', 'onblur', 'onbounce', 'oncellchange', 'onchange', 'onclick', 'oncontextmenu', 'oncontrolselect', 'oncopy', 'oncut', 'ondataavailable', 'ondatasetchanged', 'ondatasetcomplete', 'ondblclick', 'ondeactivate', 'ondrag', 'ondragend', 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart', 'ondrop', 'onerror', 'onerrorupdate', 'onfilterchange', 'onfinish', 'onfocus', 'onfocusin', 'onfocusout', 'onhelp', 'onkeydown', 'onkeypress', 'onkeyup', 'onlayoutcomplete', 'onload', 'onlosecapture', 'onmousedown', 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onmousewheel', 'onmove', 'onmoveend', 'onmovestart', 'onpaste', 'onpropertychange', 'onreadystatechange', 'onreset', 'onresize', 'onresizeend', 'onresizestart', 'onrowenter', 'onrowexit', 'onrowsdelete', 'onrowsinserted', 'onscroll', 'onselect', 'onselectionchange', 'onselectstart', 'onstart', 'onstop', 'onsubmit', 'onunload');
$ra = array_merge($ra1, $ra2);
$found = true; // keep replacing as long as the previous round replaced something
while ($found == true) {
$val_before = $val;
for ($i = 0; $i < sizeof($ra); $i++) {
$pattern = '/';
for ($j = 0; $j < strlen($ra[$i]); $j++) {
if ($j > 0) {
$pattern .= '(';
$pattern .= '(&#[xX]0{0,8}([9ab]);)';
$pattern .= '|';
$pattern .= '|(�{0,8}([9|10|13]);)';
$pattern .= ')*';
}
$pattern .= $ra[$i][$j];
}
$pattern .= '/i';
$replacement = substr($ra[$i], 0, 2).'<x>'.substr($ra[$i], 2); // add in <> to nerf the tag
$val = preg_replace($pattern, $replacement, $val); // filter out the hex tags
if ($val_before == $val) {
// no replacements were made, so exit the loop
$found = false;
}
}
}
return $val;
}
$nacontrole= RemoveXSS(mysql_real_escape_string(trim(addslashes($invoer))));
?>
function RemoveXSS($val) {
// script van xss hacks
// remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed
// this prevents some character re-spacing such as <java\0script>
// note that you have to handle splits with \n, \r, and \t later since they *are* allowed in some inputs
$val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val);
// straight replacements, the user should never need these since they're normal characters
// this prevents like <IMG SRC=@avascript:alert('XSS')>
$search = 'abcdefghijklmnopqrstuvwxyz';
$search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$search .= '1234567890!@#$%^&*()';
$search .= '~`";:?+/={}[]-_|\'\\';
for ($i = 0; $i < strlen($search); $i++) {
// ;? matches the ;, which is optional
// 0{0,7} matches any padded zeros, which are optional and go up to 8 chars
// @ @ search for the hex values
$val = preg_replace('/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val); // with a ;
// @ @ 0{0,7} matches '0' zero to seven times
$val = preg_replace('/(�{0,8}'.ord($search[$i]).';?)/', $search[$i], $val); // with a ;
}
// now the only remaining whitespace attacks are \t, \n, and \r
$ra1 = Array('javascript', 'vbscript', 'expression', 'applet', 'meta', 'xml', 'blink', 'link', 'style', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base');
$ra2 = Array('onabort', 'onactivate', 'onafterprint', 'onafterupdate', 'onbeforeactivate', 'onbeforecopy', 'onbeforecut', 'onbeforedeactivate', 'onbeforeeditfocus', 'onbeforepaste', 'onbeforeprint', 'onbeforeunload', 'onbeforeupdate', 'onblur', 'onbounce', 'oncellchange', 'onchange', 'onclick', 'oncontextmenu', 'oncontrolselect', 'oncopy', 'oncut', 'ondataavailable', 'ondatasetchanged', 'ondatasetcomplete', 'ondblclick', 'ondeactivate', 'ondrag', 'ondragend', 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart', 'ondrop', 'onerror', 'onerrorupdate', 'onfilterchange', 'onfinish', 'onfocus', 'onfocusin', 'onfocusout', 'onhelp', 'onkeydown', 'onkeypress', 'onkeyup', 'onlayoutcomplete', 'onload', 'onlosecapture', 'onmousedown', 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onmousewheel', 'onmove', 'onmoveend', 'onmovestart', 'onpaste', 'onpropertychange', 'onreadystatechange', 'onreset', 'onresize', 'onresizeend', 'onresizestart', 'onrowenter', 'onrowexit', 'onrowsdelete', 'onrowsinserted', 'onscroll', 'onselect', 'onselectionchange', 'onselectstart', 'onstart', 'onstop', 'onsubmit', 'onunload');
$ra = array_merge($ra1, $ra2);
$found = true; // keep replacing as long as the previous round replaced something
while ($found == true) {
$val_before = $val;
for ($i = 0; $i < sizeof($ra); $i++) {
$pattern = '/';
for ($j = 0; $j < strlen($ra[$i]); $j++) {
if ($j > 0) {
$pattern .= '(';
$pattern .= '(&#[xX]0{0,8}([9ab]);)';
$pattern .= '|';
$pattern .= '|(�{0,8}([9|10|13]);)';
$pattern .= ')*';
}
$pattern .= $ra[$i][$j];
}
$pattern .= '/i';
$replacement = substr($ra[$i], 0, 2).'<x>'.substr($ra[$i], 2); // add in <> to nerf the tag
$val = preg_replace($pattern, $replacement, $val); // filter out the hex tags
if ($val_before == $val) {
// no replacements were made, so exit the loop
$found = false;
}
}
}
return $val;
}
$nacontrole= RemoveXSS(mysql_real_escape_string(trim(addslashes($invoer))));
?>
De RemoveXSS script heb ik niet zelf geschreven.
Ik heb het meteen in het script aangepast, dus nu zou het goed beveiligd moeten zijn. Hartelijk dank!
Nu word bv "' opgeslagen als \"\' . Het is niet echt een gebruikersnaam maar het doet niets meer met je code dacht ik toch.
misschien nog een tip :) hang er een cms systeem achter, leg je zus 1x uit hoe het moet, ken ze in het vervolg der eigen site onderhouden.
En ik ben het eens met Pascal, een CMS lijkt me ook voor jou fijner, dan wordt je niet telkens door je zus gevraagt om iets aan te passen....tenzij je je natuurlijk laat betalen per mutatie.
Ik weet niet wat je met een CMS systeem bedoeld, maar ik denk dat ik dat al heb. Ik heb in ieder geval een control panel voor admin (zij dus) waar ze nieuws-items kan toevoegen, en natuurlijk ook nieuwe sierraden. Het veranderen heb ik nog niets voor, maar tot die tijd doe ik dat wel.
Wat je ook nog erbij zou kunnen maken is een beetje zoekmachine vriendelijke urls maken..
Zodat bv. http://monkey.trabot.net/?p=gallery&n=2&id=3 dan http://monkey.trabot.net/gallery/2/3/Armband_astrid.html zou kunnen worden.
Zoek hiervoor eens op mod_rewrite en het enige wat je nog moet doen is in je php code waar je de links aanmaakt dit veranderen zodat hij die nieuwe links kan maken.
Ik heb nu even met W3C valid zitten klooien, en ik krijg nu nog 6 errors waarvan 5 gaan over het feit dat ik &s=member gebruik in de link.
Wat is hier fout aan? Want ik had toch het idee dat ik dat goed heb gedaan.
Daarnaast de grote bloemenafbeelding bij binnenkomst. Ten eerste zijn die bleoem niet echt toepasselijk op kralen als je het mij vraagt. Verder natuurlijk wel met de stijl in de header. Zou het toch wat kleiner maken, omdat je nu moet scrollen voor het nieuws. Het nieuws is iets wat je in 1 oogopslag wil kunnen zien. sowieos met een breedbeeld scherm is het niet ideaal. Kijk dus of je een kleinere afbeelding kan plaatsen of gebruik uberhaupt GEEN afbeelding.
Dat teken & <- ampersant kan je oplossen door er & van te maken in je urls.
En verander voor de duidelijkheid even begin in home, ik klikte namelijk op collectie, en toen wist ik niet hoe ik terug moest. Dat kwam doordat begin actief was, en ik geen link naar home vond.
Misschien in je header ook even een linkje zetten?
Toen ik bij collectie aankwam, kon ik slechts via één link bij een artikel komen, maak de titel ook aanklikbaar, en eventueel het plaatje(of via het plaatje -> vergrote afbeelding(lightbox?)).
Bij de artikelen is het plaatje verdwenen? Ik wist niet meer hoe het er nou uitzag, moet ik echt terug? Heb je niet meer/grotere afbeeldingen?
Ook je footer is niet breed genoeg als je op een artikel hebt geklikt.
Bij oorbellen staat een lege pagina, een foutmelding/verklaring waarom is wel zo netjes.
Verder een aanvulling op hierboven, want je kunt jezelf nog steeds voor de nieuwsbrief aanmelden als '
Dit moet niet kunnen, dus je zult de naam eerst van ongewenste tekens moeten verwijderen, en vervolgens het aantal letters tellen.
Over de mail kun je hier genoeg scripts vinden op phphulp.nl
En als je niets invult komt er error! te staan, dit staat echt niet. Maak hier even een andere tekst van, en vermeld ook wat er fout is gegaan.
Gastenboek is er nog niet?
en de verschillende talen werken niet?
verder zag ik een naam staan: bonita-joya ofzo, wat is dit? want je begint met Floortjes kralenweb. Dan verwacht ik een Floortje, geen bonita-joya.
Ik moet zeggen dat Bonita-Joya wel mooier staat.
:)
Edit:
typo, zullen er wel meer inzitten :)
Gewijzigd op 01/01/1970 01:00:00 door Erwin Nieuwenhuis
Warning: main() [function.include]: Failed opening 'contact.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/gamingne/domains/trabot.net/public_html/monkey/index.php on line 87
Om dit te vermijden kan je dit gaan gebruiken.
bv:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$filename = 'index.php';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
$filename = 'index.php';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
Dit heb ik opgelost, dit komt omdat ik gisteren contact en over mij (haar) bij elkaar heb gevoegd, en het andere menu item is nu gastenboek.
http://www.freecsstemplates.org/preview/naturescharm
Vond het al vreemd dat het er zo goed uit zag
Zie alleen nergens bij jouw de license
All of the free CSS templates provided on this website are licensed under a Creative Commons Attribution 2.5 License, so they are free to use for both commercial and noncommercial purposes provided you link back to FreeCSSTemplates.org. For more information about this license, please click on the button below.
ceasar schreef op 09.06.2008 17:45:
Beste aapjuh
http://www.freecsstemplates.org/preview/naturescharm
Vond het al vreemd dat het er zo goed uit zag
Zie alleen nergens bij jouw de license
All of the free CSS templates provided on this website are licensed under a Creative Commons Attribution 2.5 License, so they are free to use for both commercial and noncommercial purposes provided you link back to FreeCSSTemplates.org. For more information about this license, please click on the button below.
http://www.freecsstemplates.org/preview/naturescharm
Vond het al vreemd dat het er zo goed uit zag
Zie alleen nergens bij jouw de license
All of the free CSS templates provided on this website are licensed under a Creative Commons Attribution 2.5 License, so they are free to use for both commercial and noncommercial purposes provided you link back to FreeCSSTemplates.org. For more information about this license, please click on the button below.
aapjuh schreef op 09.06.2008 13:07:
De lay-out is van een template site, wat aangepast naar eigen wensen natuurlijk.
Alleen wat lettertype verander zo snel gezien. Inderdaad, d'r moet een link terug naar die site.