使用PHP实现阻止用户上传成人照片或者裸照


Posted in PHP onDecember 25, 2014

 在这份教程中,我们将会学习到如何阻止用户通过PHP上传成人照片或者裸照.

我在phpclasses.org上面偶然发现一个很有用的,由Bakr Alsharif开发的可以帮助开发者基于皮肤像素点来检测图片裸照的类文件.

它会分析在一张图片的不同部分使用的颜色,并决定其是否匹配人类皮肤颜色的色调.

作为分析的结果,他会返回一个反映图片包含裸露的可能性的分值.

此外,他还可以输出被分析的图片,上面对使用给定颜色的肤色的像素进行了标记.

当前它可以对PNG,GIF和JPEG图片进行分析.

PHP

下面展示了如何使用这个PHP类.

让我们先从包含裸体过滤器,nf.php文件开始.

include ('nf.php');

接下来,创建一个新的名叫ImageFilter的类,然后把它放到一个叫做$filter的变量中.

$filter = new ImageFilter;

获取图片的分值并将其放到一个$score变量中.

$score = $filter -> GetScore($_FILES['img']['tmp_name']);

如果图片分值大于或等于60%,那就展示一条(告警)消息.

if($score >= 60){

/*Message*/

}

下面是所有的PHP代码:

<?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.";

    }

}

?>

标记语言

我们可以使用一个基础的HTML表单上传图片.

<form method="post" enctype="multipart/form-data" action="<?php echo $SERVER['PHP_SELF'];?> ">

Upload image: 

<input type="file" name="img" id="img" />

<input type="submit" value="Sumit Image" />

</form>

总结

请记得,PHP不能够检测所有的裸体图片,所以不完全可信.我希望你觉得这还有点用处.

PHP 相关文章推荐
PHP学习之PHP变量
Oct 09 PHP
PHP中ADODB类详解
Mar 25 PHP
Codeigniter实现处理用户登录验证后的URL跳转
Jun 12 PHP
ThinkPHP框架设计及扩展详解
Nov 25 PHP
php模拟post提交数据的方法
Feb 12 PHP
php实现的验证码文件类实例
Jun 18 PHP
php实现curl模拟ftp上传的方法
Jul 29 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
php UNIX时间戳用法详解
Feb 16 PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 PHP
浅析PHP文件下载原理
Dec 25 #PHP
php使用sql server验证连接数据库的方法
Dec 25 #PHP
php实现mysql事务处理的方法
Dec 25 #PHP
php使用pdo连接mssql server数据库实例
Dec 25 #PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 #PHP
完整删除ecshop中获取店铺信息的API
Dec 24 #PHP
php连接odbc数据源并保存与查询数据的方法
Dec 24 #PHP
You might like
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
php5中类的学习
2008/03/28 PHP
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
PHP获取文件行数的方法
2015/06/10 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
python计算一个序列的平均值的方法
2015/07/11 Python
Django自定义认证方式用法示例
2017/06/23 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
python将.ppm格式图片转换成.jpg格式文件的方法
2018/10/27 Python
Pytorch之finetune使用详解
2020/01/18 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
学点简单的Django之第一个Django程序的实现
2021/02/24 Python
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
大学生职业生涯规划书前言
2014/01/09 职场文书
诚实守信演讲稿
2014/09/01 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
2014年安全管理工作总结
2014/12/01 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
详解在OpenCV中如何使用图像像素
2022/03/03 Python
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技