1 2 3 4 5 6 7 8 9 10 | $bericht = " voorvoegsel: ". $_POST['voorvoegsel']; $bericht .= " Naam = ".$_POST['naam']; $bericht .= " Emailadres = ".$_POST['emailadres']; $bericht .= " Telefoonnummer = ".$_POST['telefoonnummer']; $bericht .= " Bericht: \r\n"; $bericht .= $_POST['bericht']; Mail("mail@adres.nl", $_POST['onderwerp'], $bericht); ?> |
misschien een mogelijkheid om een random gegenereerde tekst erbij te zetten in een plaatje en die als check gebruiken om te kijken of het een mens is die het formulier invult?quote:Op dinsdag 2 mei 2006 14:26 schreef -calimero- het volgende:
Ik heb (weer) een vraagje. Een tijdje geleden hebben jullie mij geholpen met een mailformulier voor een website. Nu staat deze al een tijdje online, maar er komt steeds meer spam op binnen te komen.
Is er een mogelijkheid om dat te weren op een of andere manier?
Het gaat om deze code:
[ code verwijderd ]
Hier te vinden: http://www.zwembaddezwoer.nl/contact.htm
Alvast bedankt.
quote:Op dinsdag 2 mei 2006 14:26 schreef -calimero- het volgende:
Ik heb (weer) een vraagje. Een tijdje geleden hebben jullie mij geholpen met een mailformulier voor een website. Nu staat deze al een tijdje online, maar er komt steeds meer spam op binnen te komen.
Is er een mogelijkheid om dat te weren op een of andere manier?
Het gaat om deze code:
[ code verwijderd ]
Hier te vinden: http://www.zwembaddezwoer.nl/contact.htm
Alvast bedankt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | $verboden= array('Content-Type','multipart/mixed;'); //hier woorden in welke wel in de spam voor komen, maar niet in de normale aanvragen (penis, invited, poker, viagra, etc). De woorden die er al instaan, checken op mail injection, dus best handig om te laten staan :) foreach ($verboden as $search) { if(stristr($_POST['voorvoegsele'],$search)!=FALSE || stristr($_POST['naam'],$search)!=FALSE || stristr($_POST['emailadres'],$search)!=FALSE|| stristr($_POST['telefoonnummer'],$search)!=FALSE || stristr($_POST['berichte'],$search)!=FALSE){ header("HTTP/1.0 404"); die(); } } if(preg_match('/^[A-Za-z0-9._-]+[@][0-9A-Za-z_\-]+([.][0-9A-Za-z]+)([.][A-Za-z]{2,4}){0,1}$/x',$_POST['email'])){ //voorkomt dater gemailed wordt met een niet bestaand mail adres $bericht = " voorvoegsel: ". $_POST['voorvoegsel']; $bericht .= " Naam = ".$_POST['naam']; $bericht .= " Emailadres = ".$_POST['emailadres']; $bericht .= " Telefoonnummer = ".$_POST['telefoonnummer']; $bericht .= " Bericht: \r\n"; $bericht .= $_POST['bericht']; Mail("mail@adres.nl", $_POST['onderwerp'], $bericht); } ?> |
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | php include("config.php"); //error_reporting(E_ALL); // $breedte is nieuwe breedte // $hoogte is nieuwe hoogte // $imgFILE waar het plaatje van gemaakt wordt, het orgineel dus (bijv $_FILES['image']['tmp_name']) // $imgDIR waar het plaatje naartoe verhuisd als ie gemaakt is // $imgNAME nieuwe naam voor plaatje (bijv. mysql_insert_id () ) // $imgEXTENSION jpg of voor thumbs _th.jpg etc. // $quality getal tussen de 0 en 100 waarbij 100 beste kwaliteit is function create_new_JPGimage ($breedte, $hoogte, $imgFILE, $imgDIR, $imgNAME, $imgEXTENSION, $quality) { //temp_photo voor thumbnail maken $photo = imagecreatefromjpeg ($imgFILE); //afmetingen bepalen $source_x = imagesx($photo); $source_y = imagesy($photo); $target_x = $breedte; $target_y = $hoogte; //als foto te hoog is if (($source_x/$target_x) < ($source_y/$target_y)) { //echo "te hoog"; $from_y = ceil(($source_y - ($target_y * $source_x / $target_x))/2); $from_x = '0'; $source_used_y = ceil(($target_y * $source_x / $target_x)); $source_used_x = $source_x; } //als foto te breed is if (($source_y/$target_y) < ($source_x/$target_x)) { //echo "te breed"; $from_x = ceil(($source_x - ($target_x * $source_y / $target_y))/2); $from_y = '0'; $source_used_x = ceil(($target_x * $source_y / $target_y)); $source_used_y = $source_y; } //als verhoudingen gelijk zijn if (($source_x/$target_x) == ($source_y/$target_y)) { $from_x = '0'; $from_y = '0'; $source_used_x = $source_x; $source_used_y = $source_y; } //nieuwe image maken en wegschrijven naar dir $create_blank = imagecreatetruecolor ($target_x, $target_y); imagecopyresampled ($create_blank, $photo, 0, 0, $from_x, $from_y, $target_x, $target_y, $source_used_x, $source_used_y); $new_filename = $imgDIR.$imgNAME.$imgEXTENSION; $new_filename = 'thumbs/'.$imgNAME; ImageJpeg($create_blank,$new_filename,$quality); Imagedestroy($photo); } php global $_FILES; $filename = $_FILES['userfile']['name']; $allow[0] = "jpg"; $uploadname = $_FILES['userfile']['name']; $i = 0; $excist = 'yes'; $bestand = "$uploadname"; $extentie = substr($bestand, -4); $naam_zonder_ext = basename($bestand, "$extentie"); $extentie = substr($uploadname, -3); while ( $excist == 'yes' ) { $file = "$naam_zonder_ext"."[$i]."."$extentie"; $file2 = "uploads/"."$naam_zonder_ext"."[$i]."."$extentie"; if (file_exists($file2)) { //echo "Het bestand bestaat ( $file ) <br />"; $i++; } else { //echo "Het bestand bestaat niet ( $file ) <br />"; $uploadname = "$file"; $excist = "no"; } } $extentie = substr($uploadname, -3); for ($i = 0; $i < count($allow); $i++) { if ($extentie == $allow[$i]) { $extentie_check = "ok"; $i = count($allow) + 5; // om loop te beindigen } } if ($extentie_check) { if (is_uploaded_file($_FILES['userfile']['tmp_name'])) { move_uploaded_file($_FILES['userfile']['tmp_name'], "uploads/" . $uploadname); $SPEL_NAAM = $_POST['naam']; $SPEL_LINK = $_POST['link']; $SPEL_PLAATJE = $uploadname; $SPEL_CATEGORIE_ID = $_POST['categorie']; mysql_query ("INSERT INTO occasions ( id, merk, type, foto, bouwjaar, kilometerstand, kleur, brandstof, specificaties, vraagprijs ) VALUES ( '', ".$_POST['merk'].", ".$_POST['type'].", '$uploadname', ".$_POST['bouwjaar'].", ".$_POST['kilometerstand'].", ".$_POST['kleur'].", ".$_POST['brandstof'].", ".$_POST['specificaties'].", ".$_POST['vraagprijs']." )"); $een = '1'; $query = 'SELECT * FROM `occasions` ORDER BY `id` DESC LIMIT 1,1'; $result = mysql_query($query); while ($result=mysql_fetch_array($result, MYSQL_ASSOC)) { $occasion_id = $result['id']; $occasion_id2 = $result['id']; } $sql = 'SELECT * FROM `occasions` ORDER BY `ID` DESC LIMIT 1'; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { $occasion_id = $row['id']; } mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', $uploadname, $occasion_id )"); $filling= "- $occasion_id - $uploadname <br />" . $_POST['merk'] ."<br />". $_POST['type'] ."<br />". $_POST['bouwjaar'] ."<br />". $_POST['kilometerstand'] ."<br />". $_POST['kleur'] ."<br />". $_POST['brandstof'] ."<br />". $_POST['specificaties'] ."<br />". $_POST['vraagprijs'] ."<br />"; $breedte = '100'; $hoogte = '100'; $imgFILE = 'uploads/'.$uploadname; $imgDIR = 'thumbs'; $imgNAME = $uploadname; $imgEXTENSION = '.jpg'; $quality = '100'; create_new_JPGimage ($breedte, $hoogte, $imgFILE, $imgDIR, $imgNAME, $imgEXTENSION, $quality); echo"$filling"; } } else { echo "Sorry je hebt geen foto toegevoegd of een bestand met de verkeerde extentie"; } <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> php echo"$header"; </body> </html> ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', $uploadname, $occasion_id )"); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', 'blaaaap', $occasion_id )"); ?> |
Je script is niet het probleem. Je hebt het emailadres als tekst op de paina staan. Er zijn speciale zoekmachines die niets anders doen dan webpagina's doorzoeken op emailadressen. Het emailadres is dus gevonden, dus krijg je spam binnen.quote:Op dinsdag 2 mei 2006 14:26 schreef -calimero- het volgende:
Ik heb (weer) een vraagje. Een tijdje geleden hebben jullie mij geholpen met een mailformulier voor een website. Nu staat deze al een tijdje online, maar er komt steeds meer spam op binnen te komen.
Is er een mogelijkheid om dat te weren op een of andere manier?
Het gaat om deze code:
[ code verwijderd ]
Hier te vinden: http://www.zwembaddezwoer.nl/contact.htm
Alvast bedankt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $bla = "bla"; mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', $bla, $occasion_id )"); ?> |
Zijn backticks niet verplicht? Dat is me nooit duidelijk geworden, maar ik gebruik het wel altijd:quote:Op dinsdag 2 mei 2006 17:50 schreef BaggerUser het volgende:
als ik er dit van maak
[ code verwijderd ]
werkt het zelfs niet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | mysql_query ("INSERT INTO `fotos` ( `id`, `foto`, `occasion_id` ) VALUES ( '', $bla, $occasion_id )") or die( mysql_error() ); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $bla = "bla"; mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', '{$bla}', $occasion_id )"); ?> |
1 2 3 4 5 | $sql = sprintf("INSERT INTO fotos (id,foto,occasion_id) VALUES (NULL,'%s',%d)",$bla,$occasion_id); mysql_query($sql); ?> |
En als het veld ID als eigenschappen "not null" en "auto increment" heeft dan moet je vooral niet proberen dat ding op null te zetten. Dan beter nog dat hele ID veld niet vullen, dan weet Mysql ook dat het zelf moet.quote:Op dinsdag 2 mei 2006 20:10 schreef smesjz het volgende:
Het gebruik van de sprintf() familie voorkomt dit soort problemen:
[ code verwijderd ]
Je moet er misschien even aan wennen, maar met printf() kan je nog veel meer dingen doen.
Ook als je geen C gewend bent, kan het zeker voor wat betere leesbare code zorgen.
Hiervoor zijn nou prepared statements bedacht, prima ondersteund door PDO en de standaard MySQLi-extensie in PHPquote:Op dinsdag 2 mei 2006 20:10 schreef smesjz het volgende:
Het gebruik van de sprintf() familie voorkomt dit soort problemen:
[ code verwijderd ]
Je moet er misschien even aan wennen, maar met printf() kan je nog veel meer dingen doen.
Ook als je geen C gewend bent, kan het zeker voor wat betere leesbare code zorgen.
Prepared statements zijn leuk als je veel terugkerende queries hebt, anders niet.quote:Op dinsdag 2 mei 2006 20:42 schreef JeRa het volgende:
[..]
Hiervoor zijn nou prepared statements bedacht, prima ondersteund door PDO en de standaard MySQLi-extensie in PHPniet alleen doen die wat jij beschrijft, maar ze zorgen ook voor een escaping gebaseerd op de juiste character set en kunnen een query vantevoren parsen zodat je dezelfde query vaak kunt uitvoeren zonder telkens de parse-overhead te hebben
Is dat niet bij bijna elke werkgever zo? Laatst een bedrijf gezien waar PHP-programmeurs (en alleen PHP dus!) op HBO-niveau tussen de 35 en 40 euro per uur verdienenquote:Op dinsdag 2 mei 2006 21:02 schreef Swetsenegger het volgende:
Ik ben zowaar een werkgever tegen gekomen welke een afgeronde HBO opleiding belangrijker vind dan aantoonbare ervaring
Nee, een werkgever zou pas naar diploma's moeten kijken wanneer er geen aantoonbaar relevante werkervaring is.quote:Op dinsdag 2 mei 2006 21:08 schreef JeRa het volgende:
[..]
Is dat niet bij bijna elke werkgever zo? Laatst een bedrijf gezien waar PHP-programmeurs (en alleen PHP dus!) op HBO-niveau tussen de 35 en 40 euro per uur verdienenmaar reken er maar niet op dat je daar komt te werken zonder HBO-diploma.
Je mag hopen dat een internationaal opererende organisatie mensen op posities neerzet vanwege de kwaliteiten van die mensen. Maar bedrijven kunnen zich natuurlijk ook wel eens vergissen.quote:Op dinsdag 2 mei 2006 21:16 schreef Swetsenegger het volgende:
Je mag aannemen dat een internationaal opererende organisatie in een snelle competitieve markt mensen niet op die positie zet voor hun zweet voetenMet andere woorden, ik ben competent... ondanks dat mijn hoogst behaalde opleiding MBO is.
Ja, dat wil ik ook wel wetenquote:-edit- waar was dat bedrijf van die PHP'ers overigens
Ik heb nu 17 jaar werkervaring en incompetente mensen houden het in de regel niet langer dan 1, max 2 jaar vol op hun positie.quote:Op dinsdag 2 mei 2006 21:54 schreef Light het volgende:
[..]
Je mag hopen dat een internationaal opererende organisatie mensen op posities neerzet vanwege de kwaliteiten van die mensen. Maar bedrijven kunnen zich natuurlijk ook wel eens vergissen.
Heb je HBOquote:Ja, dat wil ik ook wel weten
Ervaring natuurlijk. Maar m'n punt was dat sommige werkgevers dat niet zo zwaar laten meetellenquote:
Ben aan het zoeken, kan het zo 1-2-3 niet vinden. Ik post het wel hier zodra ik hun website weer hebquote:-edit- waar was dat bedrijf van die PHP'ers overigens
Zit wat in.quote:Op dinsdag 2 mei 2006 22:00 schreef Swetsenegger het volgende:
[..]
Ik heb nu 17 jaar werkervaring en incompetente mensen houden het in de regel niet langer dan 1, max 2 jaar vol op hun positie.
Nee, wel ZCEquote:Heb je HBO
1 2 3 4 5 6 7 8 | ( [To Download.txt] => file [aaa] => dir [bla] => dir [blaat] => dir [hihi] => dir ) |
1 2 3 4 5 6 7 8 | ( [aaa] => dir [bla] => dir [blaat] => dir [hihi] => dir [To Download.txt] => file ) |
1 2 3 4 5 6 7 8 | ( [hihi] => dir [blaat] => dir [bla] => dir [aaa] => dir [To Download.txt] => file ) |
1 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |