In this tutorial, we will learn how to prevent users from uploading adult photos or nude photos via PHP.
Sample Download
I stumbled upon a very useful phpclasses.org that was developed by Bakr Alsharif to help developers detect nude photos of pictures based on their skin pixels.
It analyzes the colors used in different parts of a picture and determines whether they match the color tones of the human skin.
As a result of the analysis, he returns a score that reflects the likelihood that the image will contain nudity.
In addition, he can output images that have been analyzed, which mark the pixels of the skin color using a given color.
Currently it can analyze png,gif and JPEG images.
Php
The following shows how to use this PHP class.
Let's start with a nf.php file containing a nude filter.
1 |
include ( ‘nf.php‘ ); |
Next, create a new class called ImageFilter, and then put it in a variable called $filter.
1 |
$filter = new ImageFilter; |
Gets the image's score and puts it into a $score variable.
1 |
$score = $filter -> GetScore( $_FILES [ ‘img‘ ][ ‘tmp_name‘ ]); |
If the image score is greater than or equal to 60%, then a message is displayed.
123 |
if ( $score >= 60){ /*Message*/ } |
Here is all the PHP code:
123456789101112131415161718 |
<?php
/*Include the Nudity Filter file*/
include
(
‘nf.php‘
);
/*Create a new class called $filter*/
$filter
=
new
ImageFilter;
/*Get the score of the image*/
$score =
$filter
-> GetScore(
$_FILES
[
‘img‘
][
‘tmp_name‘
]);
/*If the $score variable is set*/
if
(isset(
$score
)) {
/*If the image contains nudity, display image score and message. Score value if more than 60%, it is considered an adult image.*/
if
(
$score
>= 60) {
echo
"Image scored "
.
$score .
"%, It seems that you have uploaded a nude picture."
;
/*If the image doesn‘t contain nudity*/
}
else
if
(
$score
< 0) {
echo
"Congratulations, you have uploaded an non-nude image."
;
}
}
?>
|
Markup language
We can upload images using a basic HTML form.
12345 |
<form method= "POST" enctype= "Multipart/form-data" action= "<?php echo $SERVER [' php_self '];? > " > UPLOAD&NBSP;IMAGE:&NBSP; Code class= "PHP plain" ><input type= name= "img" id= "img" /> <input type= "submit" value= "sumit Image " /> </FORM> |
Summarize
Please remember that PHP is not able to detect all nude images, so it is not fully trusted. I hope you think it's a little useful.
Original address: http://www.rrpowered.com/2014/04/prevent-uploads-of-adult-or-nude-pictures-using-php/
How PHP prevents users from uploading adult photos or nude photos