Как мешать спаммерам получить адрес электронной почты из ссылки mailto? [дубликат]

Хороший вопрос! Editor API docs объясняет это, но информация в основном разбросана, поэтому я подведу итог:

Для начала, есть опция CanEditMultipleObjects , которую вы в настоящее время используете. не используется. Цитата из документов:

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

blockquote>

Для базового примера этого выберите два GameObjects в вашей сцене, которые имеют одинаковый компонент Unity (например, Image или Rigidbody), и вы сможете изменять эти компоненты на в то же время, чтобы иметь одинаковые значения. Большинство встроенных компонентов поддерживают его.

Это первое преимущество использования serializedObject; он поддерживает редактирование нескольких объектов, а Editor.target - нет (для этого вам понадобится Editor.targets ). Так что теперь, если вам интересно, « почему бы мне просто не использовать Editor.targets для многообъектного редактирования? », рассмотрите эту цитату из документов:

Вместо Для непосредственного изменения переменных сценария выгодно использовать системы SerializedObject и SerializedProperty для их редактирования, поскольку это автоматически обрабатывает многообъектное редактирование, отмену и переопределение Prefab . blockquote>

Суть этого сводится к тому, что если вы не хотите, чтобы функции отмены, переопределения и автоматического редактирования мультиобъектов выполнялись для вас автоматически, просто используйте Editor.target или Editor.targets. Если вы хотите, чтобы эти функции просто работали автоматически, используйте SerializedObject и SerializedProperty.

5
задан Community 23 May 2017 в 10:30
поделиться

7 ответов

Простое исправление:

<script language="JavaScript"><!--
var name = "emailusername";
var domain = "yahoo.com";
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(name + '@' + domain + '</a>');
// --></script>

Что в основном совпадает с предложением Рида, но с вашим существующим кодом.

1
ответ дан 14 December 2019 в 04:47
поделиться

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

«Лучшие» варианты используют JavaScript на стороне клиента для «построения» адреса электронной почты из частей, поэтому весь адрес электронной почты никогда не виден в Исходный код HTML в одном куске. Браузер собирает это для вас на клиенте.

2
ответ дан 14 December 2019 в 04:47
поделиться

Это даже не хороший способ. Спаммеры будут захватывать все это и сопоставлять адреса с регулярным выражением. Они не будут беспокоиться о поиске mailto :. Кроме того, любая схема, которую вы можете придумать с Javascript, уже рассмотрена и опровергнута спамером. Фактически, они, вероятно, просто смогут запустить javascript и получить адрес.

Вы можете

A) Фильтровать спам
Б) Используйте форму для отправки почты (которую спаммеры, вероятно, все еще будут использовать.)

0
ответ дан 14 December 2019 в 04:47
поделиться

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

По крайней мере, лично я согласился, что адреса будут собираться, по крайней мере, в некоторой степени. Я использую эту маленькую php-функцию для html-кодирования всех адресов электронной почты. Таким образом, они будут отлично использоваться всеми реальными браузерами, но дурачат самых тупых харвестеров. Как я уже сказал, это не 110%, но я доволен этим.

function turboencode($s){
    $tempstr = "";
    for($i = 0; $i < strlen($s); $i++){
        $c = substr($s, $i, 1);
        $tempstr .= "&#" . ord($c) . ";";
    }
    return $tempstr;
}
0
ответ дан 14 December 2019 в 04:47
поделиться

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

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

0
ответ дан 14 December 2019 в 04:47
поделиться

Лучший способ предотвратить сбор урожая - просто не иметь ссылку mailto: вообще

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

Один из возможных способов противостоять - это запутывание: добавьте глупость в свой адрес, как этот :

mailNO`at`SPAMyahoo`dot`com

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

Другой счетчик - использовать форму с CAPTCHA некоторого вида.

Ни один из них не является полностью эффективным.

0
ответ дан 14 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

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