Регулярное выражение правила обмена для имени отправителя, а не адреса

Разве в Exchange 2013 нельзя создать правило регулярного выражения транспорта на основе имени отправителя, а не адреса электронной почты отправителя?

Цель заключается в выявлении поддельных отправителей с использованием поля имени для поддельного адреса электронной почты. Нормальный: «Джон Доу» Плохо: " trustful@mail.com "

Самой целью было бы идентифицировать два @ в отправителе, за исключением случаев, когда оба одинаковые " trustful@mail.com"

Пытались найти функцию, аналогичную точке восстановления системы Windows 7 / Xp, но все, что мне удалось до сих пор, - это полное массивное резервное копирование диска с помощью Windows Backup Server.

Есть ли лучший вариант, когда вы фиксируете только состояние системы без какого-либо хранилища? Чтобы иметь возможность восстановить на определенный момент времени образ ОС , а не весь диск.

Это сервер Windows 2008 R2, но я думаю, что то же самое будет иметь значение и для 2008 года.

Это приглашение принудительных опций, которое я получаю при выборе резервной копии на «голое железо» и попытке пропустить полное резервное копирование тома. Ни одну из подпапок также нельзя пропустить.

Таким образом, вместо образа системы, который занимал не более 70 МБ в Windows7, теперь я могу каждый раз делать резервную копию только всего огромного диска, что мы не пытаемся сделать добиться вообще. Если в строке запроса для обработчика cgi задано определенное значение, я хотел бы добавить ...

Настройка: Сервер QGis-2.18 (на самом деле встроенный MapServer ) через FastCGI в Apache-2.4.18 на Ubuntu.

Если в строке запроса для обработчика cgi задано определенное значение, я хотел бы добавить другое значение. С этой целью я добавил три строки в начало /etc/apache2/conf-enabled/qgis.conf :

RewriteEngine on
RewriteCond "%{QUERY_STRING}" "application/json" [NC]
RewriteRule "^/$" "/?OUTPUTFORMAT=GeoJSON" [PT,QSA]

ScriptAlias / /usr/lib/cgi-bin/qgis_mapserv.fcgi
<Location "/">
    SetHandler fcgid-script
    Require all granted
    PassEnv QGIS_PROJECT_FILE
</Location>

FcgidInitialEnv QGIS_LOG_FILE ${QGIS_LOG_FILE}
FcgidInitialEnv QGIS_SERVER_LOG_FILE ${QGIS_SERVER_LOG_FILE}
FcgidInitialEnv QGIS_DEBUG ${QGIS_DEBUG}
FcgidInitialEnv QGIS_SERVER_LOG_LEVEL ${QGIS_SERVER_LOG_LEVEL}
FcgidInitialEnv QGIS_PLUGINPATH "${QGIS_PLUGINPATH}"
FcgidInitialEnv PGSERVICEFILE ${PGSERVICEFILE}
FcgidInitialEnv HOME /var/www

Я получаю доступ к серверу следующим образом:

http://myserver.invalid.tld:51081/
    ?SERVICE=WFS
    &VERSION=1.1.0
    &REQUEST=GetFeature
    &OUTPUTFORMAT=application/json
    &MAXFEATURES=1
    &SRSNAME=EPSG:4326
    &TYPENAME=feature_type_name
    &BBOX=8.5985658,56.447691,8.600106,56.448553

Я бы получил ожидал, что эффект будет таким же, как если бы я вручную добавил & OUTPUTFORMAT = GeoJSON в конце моего URL, но я не вижу никакой разницы после перезапуска apache. (Да, я запускал sudo a2enmod rewrite . )

Я не уверен, как работает взаимодействие между правилами перезаписи и псевдонимом скрипта, поэтому я думаю, что одно затмевает другое? К сожалению, я также не знаю, как это отладить.

На сервере включен один виртуальный хост, который для меня выглядит как конфигурация OOTB:

# apache2ctl -S
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.10. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80                   172.17.0.10 (/etc/apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/proc/self/fd/2"
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex fcgid-pipe: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex fcgid-proctbl: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33 

Вот / etc / apache2 / sites-enabled / 000-default .conf (комментарии удалены):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog /proc/self/fd/2
    CustomLog /proc/self/fd/1 combined
</VirtualHost>

И, наконец, apache2.conf (опять же, комментарии удалены):

Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog /proc/self/fd/2
LogLevel warn

IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

AccessFileName .htaccess

<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf

(Для бонусных очков я бы хотел заменить application / json в строке запроса с GeoJSON , но если бы я мог добавить параметр для начала, я был бы близок к цели.)

1
задан 18 October 2017 в 14:28
1 ответ

Я ожидал, что эффект будет таким же, как если бы я вручную добавил & OUTPUTFORMAT = GeoJSON

Ну, может быть, это «проблема»; это не добавленный . Исходная строка запроса к запросу добавляется . Строка запроса ( OUTPUTFORMAT = GeoJSON ) в строке подстановки находится в начале строки запроса. Таким образом, в зависимости от того, как вы читаете / анализируете параметры в строке запроса, ваш новый параметр, вероятно, перезаписывается.

Чтобы добавить что-то в существующую строку запроса, вы можете использовать QUERY_STRING серверная переменная в подстановке (вместо использования флага QSA ). Например:

RewriteCond %{QUERY_STRING} application/json
RewriteRule ^/$ /?%{QUERY_STRING}&OUTPUTFORMAT=GeoJSON [PT]

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

В качестве альтернативы, замените параметр URL OUTPUTFORMAT = application / json в request, то вы можете сделать что-то вроде этого:

RewriteCond %{QUERY_STRING} (.*)OUTPUTFORMAT=application/json(.*)
RewriteRule ^/$ /?%1OUTPUTFORMAT=GeoJSON%2 [PT]

% 1 и % 2 - это обратные ссылки на захваченные группы в предыдущем CondPattern . т.е. Все до и после исходного параметра URL в строке запроса.

0
ответ дан 4 December 2019 в 04:31

Теги

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