Javascript 和 PHP 扫描裸体

标签 javascript php client scanning

我试图不允许将裸露的文件上传到我的服务器。我在网上找到了可以扫描照片中是否有裸体的 javascript。它带有演示图片、html 文件和 js 文件。我正在使用 PHP 上传文件,但如果扫描发现图片有裸体,我会遇到不允许的问题。

这是我的代码示例:

$q= "insert into $table values('', '$email', '$aim', '$icq', '$yahoo', '$homepage', '0', '0', '0', '0', '0', '0', '', now(),'$myip','$email2','$password','$title','$download','$approved','$allowdelete','$author','$facebook','$piclink','$domain','$option3','$secret')";
    $result = mysql_query($q) or die("Failed: $sql - ".mysql_error());
    $q = "select max(id) from $table";
    $result = mysql_query($q);
    $resrow = mysql_fetch_row($result);
    $id = $resrow[0];
    $file = $_FILES['file']['name'];
    move_uploaded_file($_FILES['file']['tmp_name'], "pics/".$id.".".$picext);
    $picfile=$id.".".$picext;
    echo '<script type="text/javascript" <src="nude.js">';
    echo 'nude.load("pics/".<? echo $picfile; ?>);nude.scan(function(result){if(!result){ <? $nude = false; ?>;}else{ $nude = true;}})';
    echo '</script>';
if ($nude === false) { 
    $q = "update $table set picfile = '".$id.".".$picext."' where id='$id'";
    $result = mysql_query($q);
    Header("Location: index.php?id=$id");
    } else{
    echo '<script type="text/javascript">';
    echo 'alert("Nudity found. Please try again.")';
    echo '</script>';
    $q = "delete from $table where id='$id'";
    $result = mysql_query($q);
    unlink("pics/".$picfile);
    Header("Location: new2.php");
    }

代码上传文件,然后检查文件是否存在裸露并将其删除,并告诉用户如果发现裸露则重试。如果未发现裸体,用户将被带到网站的主页。(这是添加新照片页面)。所有 PHP 都工作正常,但由于 javascript 似乎没有运行我上传的文件,然后由于未设置 $nude,它进入 if 语句的 else 中,并且 js 再次不运行(无警报)框),然后文件被删除。如何让 JavaScript 运行来扫描我上传的图片中是否有裸体?我在这里做错了什么?

非常感谢任何帮助!

附注

对于那些想查看正在扫描的 js 文件的人:http://pastebin.com/MpG7HntQ

最佳答案

问题在于这一行:

echo 'nude.load("pics/".<? echo $picfile; ?>);nude.scan(function(result){if(!result){ <? $nude = false; ?>;}else{ $nude = true;}})';

没有做你想象的那样。

当您通过 echo() 输出 JavaScript 时,该代码会在浏览器或客户端上运行,直到之后才会运行PHP 脚本已完成。

您需要将代码移植到 PHP 或使用 AJAX 调用来报告图像的有效性。

关于Javascript 和 PHP 扫描裸体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21151233/

相关文章:

javascript - 不允许加载本地资源(图像缩略图)

javascript - 如何获取在jquery中可见的下一个元素

c - 捕获SIGINT信号后退出程序

c - 从套接字读取()每次都需要额外的输入(C编程远程shell)

javascript - 在客户端重用 JavaScript 代码(node.js、express)

javascript - 为什么我的 javascript 不验证我的 html 表单?

javascript - 检测 xssi 的动态 javascript

php - 列出用户检查的类别以及 php 中的所有类别

javascript - Wordpress 网站上的不安全 <form> 调用

php - 处理我的 URL 请求的正确方法