使用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删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
PHP开发框架laravel安装与配置教程
Mar 13 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
PHP中的traits实现代码复用使用实例
May 13 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
PHP常见字符串操作函数与用法总结
Mar 04 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 PHP
PHP中md5()函数的用法讲解
Mar 30 PHP
laravel框架模型、视图与控制器简单操作示例
Oct 10 PHP
phpStorm2020 注册码
Sep 17 PHP
php+laravel 扫码二维码签到功能
May 15 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
让你成为更出色的PHP开发者的10个技巧
2011/02/25 PHP
php将access数据库转换到mysql数据库的方法
2014/12/24 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
PHP7 list() 函数修改
2021/03/09 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
一个jquery实现的不错的多行文字图片滚动效果
2014/09/28 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
jquery结合html实现中英文页面切换
2016/11/29 Javascript
jQuery特殊符号转义的实现
2016/11/30 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
python迭代器的使用方法实例
2013/11/21 Python
简单的编程0基础下Python入门指引
2015/04/01 Python
Python中的super()方法使用简介
2015/08/14 Python
Python构建XML树结构的方法示例
2017/06/30 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
最新英语专业学生求职信范文
2013/09/21 职场文书
中专自我鉴定范文
2013/10/16 职场文书
文明风采获奖感言
2014/02/18 职场文书
模特职业生涯规划范文
2014/02/26 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
2014年双拥工作总结
2014/11/21 职场文书
2015选调生工作总结
2015/07/24 职场文书
追悼会答谢词范文
2015/09/29 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
关于JavaScript轮播图的实现
2021/11/20 Javascript