![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Pcrepair |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Добрый день. Есть код
Код пропускает только строки содержащие http: и https: и не пропускает строки содержащие ссылку на закачку файла doc или pdf. но типов файлов может быть несколько десятков, не хотелось бы код типа (AnsiPos('.doc',s)=0) повторять десятки раз. кроме того желательно вынести наименования типов файлов в отдельный файл (типа INI?), что бы изменять список запретов оперативно и без перекомпиляции программы целиком Вопрос: какими способами это можно сделать, если есть похожий функционально код опубликуйте, если не трудно, в теме. --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
| XperT |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: нет Всего: 4 |
Почитайте о регулярных выражениях
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Я, как обычно, сделал бы список расширений в табличке DBF, и в ней уже искал.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Ne1tr1n0 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 1.3.2009 Репутация: нет Всего: 8 |
Можно вынести список расширений в файл, необязательно INI, можно и просто в текстовом файле хранить, грузить потом из него в TStringList, потом циклом пробегаться по нему, если встретилось расширение в списке запрещенных, сразу же выходить из цикла (Break), перед тем же как добавлять в список, у тебя T4.Add(s), делать проверку если переменная последнего цикла меньше чем кол-во элементов в списке запрещенных расширений, то значит выход из цикла был совершен досрочно, => данный урл не попадает под оговариваемые условия и добавлять его не надо. Либо флаг какой завести, и в цикле проверки расширений его выставлять. А после цикла уже смотреть этот флаг.
То есть должно получиться что-то типа такого:
Только это слабенькая защитка такая получается. На сайтах типа http://www.pdftoword.com не сработает или https://www.docs.google.com/gview тоже пример. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |