afbeelding
of een geposte link ook wel echt daadwerkelijk een afbeelding is?
Dus dat een html code bijvoorbeeld er uit gefilterd wordt en
alleen als het een echte afbeelding is, de geposte url toegelaten wordt?
Bij voorbaat dank,
Ricolo
staan vast wel een script over hier op phphulp
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
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
<?php
if(isset($_POST["bevestiging"])){
$naam = $_POST["naam"];
$allow[0] = "pjpeg";
$allow[1] = "gif";
$allow[2] = "png";
$allow[3] = "pjpg";
$allow[4] = "jpg";
$allow[5] = "jpeg";
$allow[6] = "x-png";
$locatie = "images/";
global $_FILES;
$f_extentie = $_FILES["file"]["type"];
$extentie = explode("image/", $f_extentie);
for($i = 0; $i < count($allow); $i++){
if(strtolower($extentie[1] == $allow[$i])){
$extentie_check = "ok";
$i = count($allow) + 5;
}
}
if(file_exists($locatie.$naam)){
echo "Kies een andere naam voor het bestand<br><br>";
}
}else{
//form
}
?>
if(isset($_POST["bevestiging"])){
$naam = $_POST["naam"];
$allow[0] = "pjpeg";
$allow[1] = "gif";
$allow[2] = "png";
$allow[3] = "pjpg";
$allow[4] = "jpg";
$allow[5] = "jpeg";
$allow[6] = "x-png";
$locatie = "images/";
global $_FILES;
$f_extentie = $_FILES["file"]["type"];
$extentie = explode("image/", $f_extentie);
for($i = 0; $i < count($allow); $i++){
if(strtolower($extentie[1] == $allow[$i])){
$extentie_check = "ok";
$i = count($allow) + 5;
}
}
if(file_exists($locatie.$naam)){
echo "Kies een andere naam voor het bestand<br><br>";
}
}else{
//form
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Robert dat ben ik
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
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
$naam = $_POST["url"];
$allow[0] = "pjpeg";
$allow[1] = "gif";
$allow[2] = "png";
$allow[3] = "pjpg";
$allow[4] = "jpg";
$allow[5] = "jpeg";
$allow[6] = "x-png";
global $_FILES;
$f_extentie = $_FILES["file"]["type"];
$extentie = explode("image/", $f_extentie);
for($i = 0; $i < count($allow); $i++){
if(strtolower($extentie[1] == $allow[$i])){
$extentie_check = "ok";
$i = count($allow) + 5;
}
}
if(file_exists($naam)){
// de rest
}else{
echo 'Error';
}
?>
$naam = $_POST["url"];
$allow[0] = "pjpeg";
$allow[1] = "gif";
$allow[2] = "png";
$allow[3] = "pjpg";
$allow[4] = "jpg";
$allow[5] = "jpeg";
$allow[6] = "x-png";
global $_FILES;
$f_extentie = $_FILES["file"]["type"];
$extentie = explode("image/", $f_extentie);
for($i = 0; $i < count($allow); $i++){
if(strtolower($extentie[1] == $allow[$i])){
$extentie_check = "ok";
$i = count($allow) + 5;
}
}
if(file_exists($naam)){
// de rest
}else{
echo 'Error';
}
?>
Zo heb ik het nu, maar krijg telkens foutmelding...
Welke foutmelding?
geef jou script dan ff dan kunnen we ff kijken wat er aan te doen is..
En er waren dus mensen die daarin html en zo konden plaatsen.
Bij een profiel verscheen zelfs een alert popup :S
Evert, ik krijg gewoon mijn eigen "Error" foutmelding.
edit:
dan word het ongeveer zo:
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
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
<?php
if(isset($_POST["bevestiging"])){
$naam = $_POST["naam"];
$allow[0] = "pjpeg";
$allow[1] = "gif";
$allow[2] = "png";
$allow[3] = "pjpg";
$allow[4] = "jpg";
$allow[5] = "jpeg";
$allow[6] = "x-png";
$locatie = "images/";
global $_FILES;
$f_extentie = $_FILES["file"]["type"];
$extentie = explode("image/", $f_extentie); //zorg er voor dat dit wel jou map is war hij staat
for($i = 0; $i < count($allow); $i++){
if(strtolower($extentie[1] == $allow[$i])){
$extentie_check = "ok";
}
}
echo'$plaatje';
}
?>
if(isset($_POST["bevestiging"])){
$naam = $_POST["naam"];
$allow[0] = "pjpeg";
$allow[1] = "gif";
$allow[2] = "png";
$allow[3] = "pjpg";
$allow[4] = "jpg";
$allow[5] = "jpeg";
$allow[6] = "x-png";
$locatie = "images/";
global $_FILES;
$f_extentie = $_FILES["file"]["type"];
$extentie = explode("image/", $f_extentie); //zorg er voor dat dit wel jou map is war hij staat
for($i = 0; $i < count($allow); $i++){
if(strtolower($extentie[1] == $allow[$i])){
$extentie_check = "ok";
}
}
echo'$plaatje';
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Robert dat ben ik
Ja, maar ook de html en zo wil ik er uitgefilterd hebben...
php.net:
$_FILES['userfile']['type']
The mime type of the file, if the browser provided this information. An example would be "image/gif". This mime type is however not checked on the PHP side and therefore don't take its value for granted.
The mime type of the file, if the browser provided this information. An example would be "image/gif". This mime type is however not checked on the PHP side and therefore don't take its value for granted.
http://nl.php.net/manual/en/features.file-upload.php
Als de browser dus zegt dat het een gif is (dus cliënt side informatie die die meestuurt) dan geeft die ook het mime-type image/gif mee. Deze input is dus eigenlijk niet echt te vertrouwen volgens php.net.
Robert_Deiman schreef op 02.09.2008 00:45:
@Karl
Als de browser dus zegt dat het een gif is (dus cliënt side informatie die die meestuurt) dan geeft die ook het mime-type image/gif mee. Deze input is dus eigenlijk niet echt te vertrouwen volgens php.net.
Als de browser dus zegt dat het een gif is (dus cliënt side informatie die die meestuurt) dan geeft die ook het mime-type image/gif mee. Deze input is dus eigenlijk niet echt te vertrouwen volgens php.net.
Ik maak die stukjes tekst niet voor niks bold he.
En ik zeg het ook niet voor niks.
Gewoon quote van php.net.
Netzoals jij doet.
Ik heb hier al zovaak op gewezen...
En voordat je het gaat vragen, volgens mij heeft een van Jan Koehoorn's scripts de oplossing.