Я пытаюсь заблокировать ПК пользователя навсегда от использования моего веб-сайта. До сих пор я запретил IP-адрес и установил cookie, который автоматически запретит IP-адрес, если он изменится. Однако некоторые хитроумные пользователи все же удаляют файл cookie и перезагружают свой маршрутизатор, поэтому могут писать вредоносные комментарии на моем веб-сайте. Есть ли другой способ запретить пользователя, кроме запрета IP и файлов cookie? Я прочел этот вопрос: https://stackoverflow.com/questions/3159160/how-to-definitively-ban-a-user-from-my-website-or-almost, но это не то, что я ищу.Как запретить пользователю использовать мой сайт?
ответ
Вы можете использовать evercookie, которая намного сложнее избавиться, но идентификация отдельных компьютеров с уверенностью не представляется возможным, и это очень хорошая вещь потому что это будет конец частной жизни.
Ничего себе это похоже на действительно хорошую идею –
Хорошая идея, но было бы бесполезно, если бы пользователь пользовался разным браузером/непознанием/приватным просмотром? – gfivehost
@ ricky: может быть, может и нет, но лучшей альтернативы нет. –
Нет, нет. Любой метод, который вы вводите на место, можно обойти. Вы можете идентифицировать предыдущий пользователь по:
- IP-адрес - который автоматически меняется, и могут быть изменены вручную с чем-то вроде Tor
- Cookie - которые могут быть удалены легко, как вы сказали выше
- детали Входа - что потребует от вас блокировки комментариев для незарегистрированных пользователей, и заблокированные пользователи могут регистрироваться с новыми данными в любом случае. Вы можете потребовать предварительную учетную запись.
Обратите внимание, что это очень сложная задача. Даже самые большие сайты борются с этим - StackOverflow включен. В конечном счете, это компромисс между облегчением для хороших пользователей и трудными для нежелательных пользователей - вы, как владелец сайта, должны решить, где находится оптимальный опыт.
Еще один вариант - заплатить за замедление комментариев чем-то вроде Mechanical Turk или Freelancer.com.
Очевидно, что 100% аутентификация невозможна, кроме всего прочего кто-то может просто пойти в интернет-кафе или использовать компьютер для друзей. Но вы можете попробовать сделать несколько изменений на ваш сайт, если у вас есть большая проблема с этим:
- Вы могли бы заставить пользователей подписаться на сообщение, и даже пойти так далеко, как у новых пользователей комментарии не отображаются, пока они утверждаются либо самим, либо другими доверенными пользователями.
- Вы можете попробовать hellbanning, что означает, что вы помещаете пользователя в адскую версию, они все равно могут войти в систему и отправлять сообщения и т. Д., Но их комментарии отображаются только для них.
- Вы можете попытаться автоматически сканировать сообщения для определенных оскорбительных терминов (или, что в этом случае важно), а затем автоматически удалять или удерживать их до тех пор, пока они не будут утверждены вручную.
Спам преднамеренно или иначе является сложной проблемой, и любой, кто полностью решает его, вероятно, станет очень богатым.
Лучшим решением для спама, которое я нашел, является Akismet. Троллинг сложнее ... – FakeRainBrigand
Вау, мне нравится адской метод, хорошо! – phpheini
Hellban - очень хорошая идея, о которой я никогда не слышал раньше. http://www.codinghorror.com/blog/2011/06/suspension-ban-or-hellban.html –
Просто получите область ублюдка с функциями GEOIP и установите некоторые ограничения для этой области (например, премодерация/captcha/etc).
Также вы можете использовать «защиту» от других более мощных услуг. Например: подключите учетные записи своего сайта с помощью facebook acc и дайте комментарий только после получения facebook_id.Довольно легко запретить пользователю facebook_id и жестко + медленно для ублюдка создавать учетные записи для каждого вашего запрета;)
+1 за то, что вы приняли это лично! –
Ваша первая идея ужасна, представьте, если вы невольно запретили 8,5 миллиона человек, потому что один человек в Нью-Йорке разместил спам. –
@RobertMoore 5 лет с момента ответа, я был молод и выразителен :) Во всяком случае, это лучший способ использовать любую социальную сеть для идентификации пользователя, а затем запретить его/ее. Запрет на регион довольно забавный (если вы понимаете, что я имею в виду), но это похоже на стрельбу из пушки воробьи, да –
Одной из идей, часто встречающихся в phpBB-подобных системах, является подход к ролям. Вы назначаете разные возможности посетителям или посетителям, от зарегистрированных пользователей, от доверенных зарегистрированных пользователей. Базовая схема для этого была бы такой.
- Гость
- Требуется Captcha
- Требуется модератор одобрения
- Зарегистрированные пользователи
- требует одобрения модератора
- Доверенные Зарегистрированные пользователи
- Может свободно отправлять комментарии
Вашей CMS влияет на то, это будет создано. Самый простой (при условии, что он этого еще не поддерживает) будет хранить несколько дополнительных бит в базе данных, указывая на роль и проверяя это при публикации.
Люди все еще могут пойти в интернет-кафе или на свой соседский компьютер. Никакая защита не предотвратит это. –
Я не уверен, какая разница между вашим вопросом и ссылкой, которую вы предоставили. – halfer
Я думаю, что вопрос может быть переписан - как я понимаю, OP хочет запретить пользователю публиковать комментарии, тогда как другой вопрос заключается в том, чтобы полностью запретить их. –