PHP - Блокировка загруженных изображений для взрослых - PullRequest
8 голосов
/ 06 января 2010

У нас есть система управления продуктом, в которой руководитель отдела разработки продуктов может загружать изображения продуктов, и эти изображения будут немедленно отображаться на нашем веб-сайте.

На прошлой неделе, когда один человек ушел с работы, он загрузил кучу фотографий с рейтингом XXX и все сразу появилось на сайте. К счастью, мы заметили и удалили их за считанные минуты. Тем не менее, этого времени было достаточно, чтобы шокировать некоторых наших клиентов.

Вот мой вопрос: как эффективно анализировать и блокировать загрузку таких изображений? Можно ли это сделать с помощью любой библиотеки в PHP? Возможно ли это с помощью PHP?

Любая помощь будет высоко ценится.

Редактировать 1:

После некоторых копаний я нашел это:

http://pikture.logikit.net/ (Мертвая ссылка)

Кто-нибудь использовал это раньше или какое-то мнение об этом?

Ответы [ 12 ]

9 голосов
/ 06 января 2010

Реализация премодерации изображения. Если есть кто-то, кто их загружает (как вы и предполагали), не должно быть слишком сложно, чтобы кто-то еще посмотрел и нажал «Одобрить» на каждом.

И это намного дешевле и надежнее, чем использование любой библиотеки. Вы не можете формализовать «взрослый».

5 голосов
/ 06 января 2010

Это сложная проблема на любом языке, проблема обработки изображений чрезвычайно сложна.

Есть некоторые исследования на эту тему:

3 голосов
/ 06 января 2010

Нет надежного способа сделать это. Какой бы автоматизированный процесс вы ни использовали, вы получите ложноположительные и ложноотрицательные результаты. Если вы готовы принять это, вы можете взглянуть на Фильтр обнаженных изображений , который анализирует изображения на основе скинтона. Однако он будет отмечать изображения, которые также являются крупными планами лиц.

Такой метод может быть эффективен в сочетании с информацией об истории пользователя. Если они неожиданно загружают сотни изображений (а в среднем их может быть две за неделю до этого), и большинство из них помечаются, то, вероятно, следует приостановить эти загрузки, пока кто-то не посмотрел на них.

Если задуматься, просто загрузка большого количества изображений за короткий промежуток времени (и доведение этого до сведения администраторов сайта), вероятно, в большинстве случаев достаточна.

1 голос
/ 06 января 2010

Действительно легко добавить модерацию, как было предложено, но я представляю, что есть некоторая нерешительность с точки зрения ограничения производительности и разочарования разработчиков, которые вынуждены ждать второго взгляда. Даже если все участники понимают и не воспринимают это лично, это все равно может раздражать:

a) быть человеком, который должен ждать один или два дня, чтобы контент заработал, потому что его модератор заболел и резервный модератор находится на собрании.

или

b) быть человеком, которого каждый час или около того прерывают из проекта, нажимая кнопку «одобрить».

Иногда даже технология требует некоторой предполагаемой бюрократии и должна принимать головные боли, с которыми она приходит, и я думаю, что есть определенно умные способы сдерживать раздражения, подобные тем, которые я упомянул, до минимума.

Сказав все это, имейте в виду, что действия этого менеджера, вероятно, отражают его прекращение. Или, по крайней мере, как это произошло. Возможно, другим нетехническим административным решением будет удаление привилегий доступа к системе, как только вы узнаете, что кто-то находится в скомпрометированной позиции.

Независимо от того, обратился ли человек в своем двухнедельном уведомлении или только что получил мешок этим утром, он должен был либо иметь модерируемый доступ, либо вообще не иметь доступа ко всему, что становится публичным или имеет критически важное значение.

Большинство разработчиков действительно усердно работают, чтобы завоевать доверие начальства, позволяя им обнародовать информацию или записывать данные непосредственно в критические системы. Но это доверие должно прийти с очень немедленной оговоркой о политике выхода.


Относительно LogiPik:

Я никогда не использовал это, но я просто попробовал их демо. Я загрузил следующее (случайным образом ищет "закрыть" в Google:

http://www.ethereality.info/ethereality_website/paintings_drawings/new/portraits/elena_formal_portrait/closeup-3.jpg

И получилось следующее:

Оценивается как: порно Завершенный в 25 сек.

Для меня это слишком медленно (для одной картинки), чтобы получить ложное срабатывание, особенно для американца за 50 долларов.

1 голос
/ 06 января 2010

Вы собираетесь идти вниз «обнаружение скинтон» путь предотвращения порно.Это ошибка, так как любое решение, даже если это возможно, будет чудовищно дорого, чтобы получить право

1002 * И не будет работать на порно образы персонажа из «Аватара», например: -.)

Вы можете использовать два подхода (я предпочитаю первый).

  1. Не разрешать немедленную публикацию этих изображений, пока они не будут удалены доверенной стороной.
  2. Позвольте вашим пользователям отмечать их как оскорбительные и проверяйте тех, кто получает голоса.

Причина, по которой я предпочитаю первое, заключается в том, что второе по-прежнему позволяет просматривать изображения для широкой публики, и этопочти наверняка повредит репутации компании.

Вы должны относиться к этому представителю серьезно.Мне вспоминается система, которую мы создали много лет назад для измерения длины прыжков на водных лыжах.

По обе стороны от реки находились три станции, где люди, которым поручено проводить измерения, указывали на то, куда, по их мнению,приземлился лыжник (я полагаю, гексангуляция).

Эти шесть местоположений были в основном усреднены (после удаления выбросов), чтобы получить фактическую позицию (отсюда длину), и все это было вычислено компьютером и отправлено обратно на базовую станцию..

Однако на телевизионных станциях, которые передавали это событие, кто-то считывал длину с экрана, а затем вручную вводил их на свои компьютеры.Когда нам сказали, что мы можем автоматизировать процесс, они дали понять, что они не позволят отправлять непроверенные данные своим зрителям (в случае, если мы добавим ненормативную лексику, я думаю).

ХотяЯ думал, что это немного параноик, я мог понять это.

1 голос
/ 06 января 2010

Это возможно , хотя вы получите ложные и ложные срабатывания.

Гораздо проще было бы внедрить некоторую форму системы модерирования, которая требует одобрения от другого лица, прежде чем что-либо будет запущено.

0 голосов
/ 14 октября 2018

Недавно я обнаружил, что мне нужна система для обнаружения контента для взрослых. К счастью, в настоящее время это можно сделать довольно точно.

В итоге я создал этот проект , который представляет собой API, который можно легко развернуть в Herkou (или в любом другом месте, где вы можете запустить докер-контейнер) и который позволяет вам получать изображения для контента для взрослых. *

Он основан на open_nsfw модели нейронной сети с открытым исходным кодом, которая была обучена обнаружению, не подходящей для рабочих изображений. Приведенный выше проект в основном представляет собой Python API поверх open_nsfw, готовый к развертыванию.

0 голосов
/ 12 мая 2017

Если вы ищете решение на основе API, вы можете попробовать Sightengine.com

Это автоматизированное решение для обнаружения таких вещей, как контент для взрослых, насилие, знаменитости и т. Д. В изображениях и видео.

Вот пример на PHP с использованием SDK:

<?php
$client = new SightengineClient('YourApplicationID', 'YourAPIKey');

$output = $client>check('nudity')>image('https://sightengine.com/assets/img/examples/example2.jpg');

Затем результат вернет классификацию:

{
  "status": "success",
  "request": {
    "id": "req_VjyxevVQYXQZ1HMbnwtn",
    "timestamp": 1471762434.0244,
    "operations": 1
  },
  "nudity": {
    "raw": 0.000757,
    "partial": 0.000763,
    "safe": 0.999243
  },
  "media": {
    "id": "med_KWmB2GQZ29N4MVpVdq5K",
    "uri": "https://sightengine.com/assets/img/examples/example2.jpg"
  }
}

Ознакомьтесь с документацией для получения более подробной информации: https://sightengine.com/docs/#nudity-detection (отказ от ответственности: я там работаю)

0 голосов
/ 31 марта 2014

Попробуйте, я надеюсь, это поможет вам

http://lab.yogeshsaroya.com/prevent-uploads-nude-or-adult-images-using-php/

0 голосов
/ 06 января 2010

Используя современные технологии, не существует абсолютно надежного решения, так что не поддавайтесь маркетингу, который подразумевает, что есть.

См. предыдущий вопрос в StackOverflow.

Вы можете объединить алгоритм обнаружения кожи с предварительной модерацией, чтобы привлечь внимание модератора к подозрительным изображениям. Только не думайте, что вы можете пропустить шаг, заставляющий человека смотреть на изображения.

Кстати, процессы безопасности вашей компании звучат немного слабо. Как другой сотрудник загружал изображения, если только руководитель отдела разработки продуктов мог это сделать? Убедитесь, что вы храните хэши паролей и минимизируете доступ к рабочим серверам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...