2012-02-02 3 views
3

Я пытаюсь заблокировать ПК пользователя навсегда от использования моего веб-сайта. До сих пор я запретил IP-адрес и установил cookie, который автоматически запретит IP-адрес, если он изменится. Однако некоторые хитроумные пользователи все же удаляют файл cookie и перезагружают свой маршрутизатор, поэтому могут писать вредоносные комментарии на моем веб-сайте. Есть ли другой способ запретить пользователя, кроме запрета IP и файлов cookie? Я прочел этот вопрос: https://stackoverflow.com/questions/3159160/how-to-definitively-ban-a-user-from-my-website-or-almost, но это не то, что я ищу.Как запретить пользователю использовать мой сайт?

+1

Люди все еще могут пойти в интернет-кафе или на свой соседский компьютер. Никакая защита не предотвратит это. –

+0

Я не уверен, какая разница между вашим вопросом и ссылкой, которую вы предоставили. – halfer

+0

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

ответ

10

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

+1

Ничего себе это похоже на действительно хорошую идею –

+0

Хорошая идея, но было бы бесполезно, если бы пользователь пользовался разным браузером/непознанием/приватным просмотром? – gfivehost

+0

@ ricky: может быть, может и нет, но лучшей альтернативы нет. –

3

Нет, нет. Любой метод, который вы вводите на место, можно обойти. Вы можете идентифицировать предыдущий пользователь по:

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

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

Еще один вариант - заплатить за замедление комментариев чем-то вроде Mechanical Turk или Freelancer.com.

2

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

  • Вы могли бы заставить пользователей подписаться на сообщение, и даже пойти так далеко, как у новых пользователей комментарии не отображаются, пока они утверждаются либо самим, либо другими доверенными пользователями.
  • Вы можете попробовать hellbanning, что означает, что вы помещаете пользователя в адскую версию, они все равно могут войти в систему и отправлять сообщения и т. Д., Но их комментарии отображаются только для них.
  • Вы можете попытаться автоматически сканировать сообщения для определенных оскорбительных терминов (или, что в этом случае важно), а затем автоматически удалять или удерживать их до тех пор, пока они не будут утверждены вручную.

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

+0

Лучшим решением для спама, которое я нашел, является Akismet. Троллинг сложнее ... – FakeRainBrigand

+0

Вау, мне нравится адской метод, хорошо! – phpheini

+2

Hellban - очень хорошая идея, о которой я никогда не слышал раньше. http://www.codinghorror.com/blog/2011/06/suspension-ban-or-hellban.html –

1

Просто получите область ублюдка с функциями GEOIP и установите некоторые ограничения для этой области (например, премодерация/captcha/etc).

Также вы можете использовать «защиту» от других более мощных услуг. Например: подключите учетные записи своего сайта с помощью facebook acc и дайте комментарий только после получения facebook_id.Довольно легко запретить пользователю facebook_id и жестко + медленно для ублюдка создавать учетные записи для каждого вашего запрета;)

+2

+1 за то, что вы приняли это лично! –

+0

Ваша первая идея ужасна, представьте, если вы невольно запретили 8,5 миллиона человек, потому что один человек в Нью-Йорке разместил спам. –

+0

@RobertMoore 5 лет с момента ответа, я был молод и выразителен :) Во всяком случае, это лучший способ использовать любую социальную сеть для идентификации пользователя, а затем запретить его/ее. Запрет на регион довольно забавный (если вы понимаете, что я имею в виду), но это похоже на стрельбу из пушки воробьи, да –

2

Одной из идей, часто встречающихся в phpBB-подобных системах, является подход к ролям. Вы назначаете разные возможности посетителям или посетителям, от зарегистрированных пользователей, от доверенных зарегистрированных пользователей. Базовая схема для этого была бы такой.

  • Гость
    1. Требуется Captcha
    2. Требуется модератор одобрения
  • Зарегистрированные пользователи
    1. требует одобрения модератора
  • Доверенные Зарегистрированные пользователи
    1. Может свободно отправлять комментарии

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