PHP - Блокирование загруженных взрослых изображений

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

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

Вот мой вопрос: Как эффективно проанализировать и заблокировать такие изображения от того, чтобы быть загруженным? Это может быть сделано, пользуясь какой-либо библиотекой в PHP? Действительно ли это возможно с PHP во-первых?

Любая справка очень ценилась бы.

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

После некоторого рытья я нашел это:

http://pikture.logikit.net/ (Битая ссылка)

Кто-либо использовал его прежде, или какое-либо мнение о нем?

8
задан Lawrence Cherone 5 January 2013 в 15:17
поделиться

9 ответов

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

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

9
ответ дан 5 December 2019 в 08:24
поделиться

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

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

5
ответ дан 5 December 2019 в 08:24
поделиться

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

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

.
1
ответ дан 5 December 2019 в 08:24
поделиться

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

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

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

.
3
ответ дан 5 December 2019 в 08:24
поделиться

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

И не будет работать над порноизображениями персонажа из "Аватара", например :-)

Два подхода, которые вы могли бы использовать (я предпочитаю первый).

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

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

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

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

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

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

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

.
1
ответ дан 5 December 2019 в 08:24
поделиться

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

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

или

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

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

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

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

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


Что касается LogiPik:

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

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

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

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

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

1
ответ дан 5 December 2019 в 08:24
поделиться

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

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

0
ответ дан 5 December 2019 в 08:24
поделиться

Trynt API имеет очень хорошую/быструю веб-службу обнаружения обнаженной натуры, но, похоже, возвращает банкомат с 502 заголовками

.
0
ответ дан 5 December 2019 в 08:24
поделиться

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

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

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

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

0
ответ дан 5 December 2019 в 08:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: