Вернуться   Биткоин Форум > Сервисы
9 ноября 2013, 12:53:49 AM   # 1
 
 
Сообщения: 2884
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Создание единого PCRE регулярное выражение (PHP preg_match), который точно соответствует фишинг BBcode как:

Код:
[URL = HTTP: //phishing.com] http://safe-site.com/login.php [/ URL]
[URL = phishing.com] safe-site.com [/ URL]
[Iurl = HTTP: //phishing.com] safe-site.com [/ URL]
[URL = HTTP: //phishing.com] [б] сейф [/ b] -site.com [/ URL]
[URL = HTTP: //phishing.com] safe-site.io [/ URL]
[URL = HTTP: //phishing.com] безопасный сайт ⠠ ком [/ URL] (. Замечаете Unicode двойник)
[URL = HTTP: //phishing.com] безопасный сайт .com [/ URL] (обратите внимание, пространство для волос Unicode)
[URL = HTTP: //phishing.com] безопасный сайт [IMG] http://asdf.com/period.png [/ IMG] ком [/ URL] (ссылка, содержащая текст и изображения)

но не соответствует:

Код:
[URL = HTTP: //safe-site.com] http://safe-site.com [/ URL]
[URL = safe-site.com] safe-site.com [/ URL]
[URL = HTTP: //safe-site.com] safe-site.com [/ URL]
[URL = safe-site.com] http://safe-site.com [/ URL]
[URL = HTTP: //safe-site.com] [IMG] http://asdf.com/image.png [/ IMG]
[URL = HTTP: //safe-site.com] [IMG] http://asdf.com/image.png [/ IMG] (уведомление пробельные)
[URL = HTTP: //safe-site.com] safe-site.com хороший сайт [/ URL]
. [URL = HTTP: //safe-site.com] こ ん に ち は [/ URL]

Эти части URL должны быть захвачены:
Код:
[URL = $ 1] $ 2 [/ URL]
И не должно быть никаких других захватывая групп.

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

Дать решение здесь, когда у вас есть. Человек, который отправляет первое решение, которое я считаю приемлемым получает награду. Я могу разделить щедрость среди нескольких людей, если мое выбранное решение является производным от ранее размещенных попыток решения.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos


Как заработать Биткоины?
Без вложений. Не майнинг.


9 ноября 2013, 1:48:58 AM   # 2
 
 
Сообщения: 1848
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

Получил 1806 Биткоинов
Реальная история.





Давайте посмотрим ли:

  • Я понял проблему
  • РНР "Perl совместимые регулярные выражения" на самом деле Perl Compatible. Это код Perl

Код:
#! / USR / бен / Perl

использовать предупреждение;
использовать строгий;

################################# полезные вещи ############### ########
мой $ phishing_domain = 'phishing.com';
мой $ ре = ор {
    ^ \ [
    я?
    URL =
    ((?: HTTP: //) $ phishing_domain])
    (. * (? = \ [/ URL]))
}Икс;
################################# / полезный материал ############## #########

мой @bad = разделить / \ п /, <[URL = HTTP: //phishing.com] http://safe-site.com/login.php [/ URL]
[URL = phishing.com] safe-site.com [/ URL]
[Iurl = HTTP: //phishing.com] safe-site.com [/ URL]
[URL = HTTP: //phishing.com] [б] сейф [/ b] -site.com [/ URL]
[URL = HTTP: //phishing.com] safe-site.io [/ URL]
[URL = HTTP: //phishing.com] безопасный сайт ⠠ ком [/ URL] (. Замечаете Unicode двойник)
[URL = HTTP: //phishing.com] безопасный сайт .com [/ URL] (обратите внимание, пространство для волос Unicode)
[URL = HTTP: //phishing.com] безопасный сайт [IMG] http://asdf.com/period.png [/ IMG] ком [/ URL] (ссылка, содержащая текст и изображения)
EOF

мой = @ Хорошие разделить / \ п /, <[URL = HTTP: //safe-site.com] http://safe-site.com [/ URL]
[URL = safe-site.com] safe-site.com [/ URL]
[URL = HTTP: //safe-site.com] safe-site.com [/ URL]
[URL = safe-site.com] http://safe-site.com [/ URL]
[URL = HTTP: //safe-site.com] [IMG] http://asdf.com/image.png [/ IMG]
[URL = HTTP: //safe-site.com] [IMG] http://asdf.com/image.png [/ IMG] (уведомление пробельные)
[URL = HTTP: //safe-site.com] safe-site.com хороший сайт [/ URL]
. [URL = HTTP: //safe-site.com] こ ん に ち は [/ URL]
EOF

Foreach мой $ BAD (@bad) {
    если ($ плохо = ~ / $ ре /) {
        Printf "\ $ 1 (% s) 2 \ $ (% s) \ п", $ 1, $ 2;
    } Еще {
        Распечатать "ой линии «$ плохо» должен соответствовать \ п";
    }
}

Foreach мой $ хорошо (@ Хорошие) {
    Распечатать "ой, строка «$ хороший» неожиданно соответствует \ п" если $ хороший = ~ / $ ре /;
}

Edit: выход:

Код:
$ 1 (http://phishing.com]) 2 $ (http://safe-site.com/login.php)
$ 1 (phishing.com]) 2 $ (safe-site.com)
$ 1 (http://phishing.com]) 2 $ (safe-site.com)
$ 1 (http://phishing.com]) 2 $ ([Ь] безопасно [/ б] -site.com)
$ 1 (http://phishing.com]) 2 $ (safe-site.io)
$ 1 (http://phishing.com]) 2 $ (безопасный сайт ⠠ ком)
$ 1 (http://phishing.com]) 2 $ (безопасный сайт .com)
$ 1 (http://phishing.com]) 2 $ (безопасный сайт [IMG] http://asdf.com/period.png [/ IMG] ком)
dserrano5 сейчас офлайн Пожаловаться на dserrano5   Ответить с цитированием Мультицитирование сообщения от dserrano5 Быстрый ответ на сообщение dserrano5

9 ноября 2013, 1:55:03 AM   # 3
 
 
Сообщения: 2884
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

Я не хочу, чтобы соответствовать конкретным доменам. phishing.com и safe-site.com только примеры. Я хочу, чтобы регулярное выражение, чтобы соответствовать всем [URL] ссылки, где текст ссылки, как представляется, автоматически linkified URL на случайном обследовании, но когда фактическая ссылка URL отличается.

Пример:
http://bitcointalk.org (Http://bitcointalk.org)
http://google.com ([URL = HTTP: //google.com] http://google.com [/ URL])
http://google.com ([URL = HTTP: //google.com] http://bitcointalk.org [/ URL])

Я хочу, чтобы регулярное выражение, чтобы соответствовать BBcode последнего звена (без зная о "bitcointalk.org" или "google.com"), И я не хочу, чтобы это было возможно для кого-то обойти регулярное выражение с помощью уловок Unicode, изображения и т.д.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

9 ноября 2013, 2:07:49 AM   # 4
 
 
Сообщения: 2884
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

Что на форуме ранее делал заменяли все экземпляры:
Код:
(
\ [Я? URL [^]] + \]
    \ W * ((?: HTTP | WWW) [^ [] +)
\ [/ Я? URL \]
) IX
с захваченным материалом ($ 1). Так [URL = HTTP: //google.com] http://asdf.com [/ URL] становится просто asdf.com. Но это может быть побежден во многих отношениях.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

9 ноября 2013, 2:23:35 AM   # 5
 
 
Сообщения: 1848
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

ИМХО вы не хотите кетчуп всех регулярные выражений для выполнения такой мелкозернистой работы.
dserrano5 сейчас офлайн Пожаловаться на dserrano5   Ответить с цитированием Мультицитирование сообщения от dserrano5 Быстрый ответ на сообщение dserrano5

9 ноября 2013, 7:48:00 AM   # 6
 
 
Сообщений: 88
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

Почему вы не просто захватывать отдельные части и разобрать, что в URL BBC парсер РВСН (довольно уверен SMF поддерживает обратные вызовы для BBC)? Это должно быть быстрее, чем один регулярное выражение делает это.
Dragooon сейчас офлайн Пожаловаться на Dragooon   Ответить с цитированием Мультицитирование сообщения от Dragooon Быстрый ответ на сообщение Dragooon

9 ноября 2013, 4:09:23 PM   # 7
SDP
 
 
Сообщения: 421
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

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

Теперь я утверждаю, что эти три не должны совпадать либо:
Код:
[URL = HTTP: //safe-site.com] [IMG] http://asdf.com/image.png [/ IMG]
[URL = HTTP: //safe-site.com] [IMG] http://asdf.com/image.png [/ IMG] (уведомление пробельные)
[URL = HTTP: //safe-site.com] safe-site.com хороший сайт [/ URL]
. [URL = HTTP: //safe-site.com] こ ん に ち は [/ URL]


Во-первых, если вы позволяете изображения, такие как
Код:
[URL = HTTP: //safe-site.com] [IMG] http://asdf.com/image.png [/ IMG]
то почему бы не:
Код:
[URL = phishing.com] [IMG] http://asdf.com/image.png [/ IMG] [/ URL]]

и предположим, что изображение выглядит так же, как текст www.safe-site.com ?

SDP сейчас офлайн Пожаловаться на SDP   Ответить с цитированием Мультицитирование сообщения от SDP Быстрый ответ на сообщение SDP

10 ноября 2013, 2:12:11 AM   # 8
 
 
Сообщения: 144
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

Там нет общего решения, что флаги Unicode-используя URL Двойник любит, но не текст флага, который не содержит какой-либо URL.
12648430 сейчас офлайн Пожаловаться на 12648430   Ответить с цитированием Мультицитирование сообщения от 12648430 Быстрый ответ на сообщение 12648430

10 ноября 2013, 4:08:06 AM   # 9
 
 
Сообщения: 126
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

Эй, есть чистое RegExp решение, которое будет работать в большинстве случаев.

Код:
$ регулярное выражение знак равно <<<'REGEXP'
@ \ [URL = # Начало URL BBCode
( # Группа 1
((?: Https:? \ / \ /)) # Группа 2, протокол захвата, если она существует
([\ Да-г \ .-] +) # Группа 3, захватить имя хоста, без TLD
\. # Нужна период между именем хоста и TLD
([A-Z \.] {2,6}) # Группа 4, ДВ
((:? [\ / \ Ш \ .-] *) * \ /) # Группа 5, путь
)
\]
\ С *? поддержка # Multiline
(# 6 Группа
(?!. * \ 3 + \ 4 |.. * \ [IMG \]. *) # Lookahead для проверки, не фишинговый домен и изображения
.*?
((?: Https:? \ / \ /)) # Группа 7, фишинг протокол URL
(# 8 Группа, фишинговых URL-хоста
(?: [\ Да-г \ .-] # любые символы обычно находятся в URL
| # или
\ [[^ \]] + \] # Совпадение по любым BBCode
| # или
[^ \ x00- \ x7F]) + # Совпадение по любому юникод символов
)                            
(?:. \ | [^ \ X00- \ x7F] +) # Нужен период, но также искать символы Юникода
([A-Z \.] {2,6}) # ДВА
((:? [\ / \ Ш \ .-] *) * \ /) # Путь
.*?
| # или
[^] + \ [IMG \]. * \ [\ / IMG \] [^] + # Изображение с чем-либо, кроме космических пространств, окружающих его
)
\ С *? # Найти любой пробел между ними
\ [/ URL \] # Конец URL BBCode
@xmi
REGEXP;

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

Редактировать: Будет также сбой при замене законны URL, "," с " " (Или любой другой не алфавитно-цифровой, не юникод символов) и имеющий фишинговый сайт для URL. Расширение разделов TLD искать реальный мир ДВА может решить эту проблему до такой степени.


успех
dudeami сейчас офлайн Пожаловаться на dudeami   Ответить с цитированием Мультицитирование сообщения от dudeami Быстрый ответ на сообщение dudeami

11 ноября 2013, 12:20:05 AM   # 10
 
 
Сообщения: 2884
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

Кажется довольно близко, но это слишком жадным (и дорого). Ваше регулярное выражение видит всю эту строку (которая действует BBcode) как совпадающие:
Код:
[URL = HTTP: //phishing.com] http://safe-site.com/login.php [/ URL] [nobbc] http://safe-site.com/login.php [/ URL] [/ nobbc]
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

11 ноября 2013, 1:26:44 AM   # 11
 
 
Сообщения: 126
Цитировать по имени
цитировать ответ
по умолчанию Re: Быстрое программирование щедрот: анти-фишинг регулярных выражений - 0,2 BTC

Исправлена ​​слишком жадная часть, тесты, приведенные в ориг посте. Что касается дороги, да это: р Любопытное растягивая пределы RegExp здесь, по крайней мере, насколько мне известно.
dudeami сейчас офлайн Пожаловаться на dudeami   Ответить с цитированием Мультицитирование сообщения от dudeami Быстрый ответ на сообщение dudeami



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW