使用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初学者头疼问题总结
Jul 08 PHP
php 友好URL的实现(吐血推荐)
Oct 04 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
php中inlcude()性能对比详解
Sep 16 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
php判断用户是否手机访问代码
Jun 08 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
PHP翻页跳转功能实现方法
Nov 30 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
Dec 25 PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 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
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
JavaScript面向对象编程
2008/03/02 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
5个很好的Python面试题问题答案及分析
2018/01/19 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
利用Python实现kNN算法的代码
2019/08/16 Python
pandas 对group进行聚合的例子
2019/12/27 Python
python如何查看安装了的模块
2020/06/23 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
公积金单位接收函
2014/01/11 职场文书
安全生产检查通报
2014/01/29 职场文书
优秀求职信
2014/05/29 职场文书
校庆活动策划方案
2014/06/05 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
违纪检讨书
2015/01/27 职场文书
张思德观后感
2015/06/09 职场文书
Python必备技巧之字符数据操作详解
2022/03/23 Python