ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1081  
Старый 28.03.2010, 00:32
Omegа
Новичок
Регистрация: 16.12.2009
Сообщений: 27
Провел на форуме:
203807

Репутация: 30
По умолчанию

InfectedM, На PHP это выглядит примерно так:
Код:
<?php
$text = 'nserver: qwe1.server.ru.
nserver: qwe2.server.ru.
mail: server.ru
site: server.ru';
preg_match_all('~nserver: (.*)~i', $text, $regs);
print_r($regs[1]);
?>
Твой вариант впринципе почти правильный, но :
Зачем перед последней точкой нужно (.+?) ?
Почему домен третьего уровня может быть из любых символов, а первого и второго из [a-zA-Z] ?
Обязательно ли домен должен быть из трёх уровней?

P.S. Если хочешь разобраться - почитай книжки или статьи по регуляркам

Последний раз редактировалось Omegа; 28.03.2010 в 00:48..
 
Ответить с цитированием

  #1082  
Старый 28.03.2010, 00:34
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

InfectedM Ошибка из-за (.+?)\. Имя домена верхнего уровня (в данном случае .ru) входит в предыдущую подмаску. .+ забирает любое количество символов (кроме символа перевода строки) , но не менее одного, а дальше регулярка пытается найти обычную точку и не может
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #1083  
Старый 29.03.2010, 14:10
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме:
3300342

Репутация: 165
По умолчанию

на сайте есть реальная дирктория, например /forum/, как сказать мод-реврайту, чтобы он не обрабатывал этот конкретный урл?
 
Ответить с цитированием

  #1084  
Старый 29.03.2010, 15:08
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Гляньте в сторону флага F
 
Ответить с цитированием

  #1085  
Старый 29.03.2010, 23:40
LASS0
Познающий
Регистрация: 03.01.2009
Сообщений: 33
Провел на форуме:
1536015

Репутация: 52
Отправить сообщение для LASS0 с помощью ICQ
По умолчанию

как сделать чтобы логины записывались в 1й массив, а пароли во 2й

логин1:пароль1
логин2:пароль2
логин3:пароль3

както так.. но не работает
PHP код:
$login split("#:(.*?)\n#"$text);
 
$pass split("#\n(.*?):#"$text); 
 
Ответить с цитированием

  #1086  
Старый 30.03.2010, 00:13
Compton
Участник форума
Регистрация: 31.01.2010
Сообщений: 170
Провел на форуме:
1442841

Репутация: 63
Отправить сообщение для Compton с помощью AIM Отправить сообщение для Compton с помощью Yahoo
По умолчанию

PHP код:
<?php
$text
='логин1:пароль1
логин2:пароль2
логин3:пароль3'
;
preg_match_all('/(.*):(.*)/i',$text,$a);
print_r($a[1]);/// 1-логин,2-пароль
?>
 
Ответить с цитированием

  #1087  
Старый 31.03.2010, 14:00
#Wolf#
Постоянный
Регистрация: 26.03.2008
Сообщений: 311
Провел на форуме:
3799424

Репутация: 479
По умолчанию

http://paste2.org/p/747648
надо выпарсить value и текст исключительно из
<select name="cid" onChange="checkRubr(this.value,'sel2');">
...
..
.
</select>
поэтому вариант типа: #<option value="([0-9]+)">(.*+)#i
не подойдет.
 
Ответить с цитированием

  #1088  
Старый 31.03.2010, 14:45
Compton
Участник форума
Регистрация: 31.01.2010
Сообщений: 170
Провел на форуме:
1442841

Репутация: 63
Отправить сообщение для Compton с помощью AIM Отправить сообщение для Compton с помощью Yahoo
По умолчанию

Wolf
PHP код:
<?php
$text
='<option value="10">гостинки
<option value="11">1-комн. кв.
<option value="12">2-комн. кв.
<option value="13">3-комн. кв.' 
;
preg_match_all('/<option value="(.+)">.+\r\n/',$text,$a);
print_r($a);
?>
 
Ответить с цитированием

  #1089  
Старый 31.03.2010, 15:47
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Вопщем нужно сделать два сайта (вит.хоста) на одном IP. Стоит nginx+Fast-cgi+ssl

как правильно настроить Rewrite в конфиге nginx?

Нужно сделать так, что при любом http запросе к любому домену кидало в корни сайтов на скрипты redir.php, а от туда уже идёт переадресация по https протоколу на корневые индексы сайтов (index.php)

Чтоб было яснее привожу конфиг:
Код:
 user www-data;
worker_processes  4;
worker_rlimit_nofile 32768;
error_log  /var/log/nginx/error.log;

pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

limit_zone   one  $binary_remote_addr  10m;
limit_conn one 5;

    access_log	/var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  60;
    tcp_nodelay        on;

    gzip  on;

    server {
        listen       80;
        server_name  site_name1;

fastcgi_intercept_errors on;

        access_log  /var/log/nginx/site_name1.access.log;

        location / {

root   /var/www;	
#if (!-f $request_filename){
#if ($request_uri !~ google)
#rewrite ^.*$ /redir.php ;
#break;
#}
rewrite ^.*$ /redir.php ;
    
            index  index.html index.htm index_x.php index.php;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

#redirect /redir.php$ /.php 

rewrite ^.*$ /redir.php;
			
#if ($request_uri !~ google)

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  redir.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/$fastcgi_script_name;
	     fastcgi_param HTTPS on;
            include        /etc/nginx/fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

    server {
        listen       80;
        server_name  site_name2;

fastcgi_intercept_errors on;

        access_log  /var/log/nginx/site_name2.access.log;

	location / {

root   /var/www/site_name2;	
#if (!-f $request_filename){
#if ($request_uri !~ google)
#rewrite ^.*$ /redir.php;
#break;
#}
	rewrite ^.*$ /redir.php;
    
            index  index.html index.htm index_x.php index.php;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www/site_name2;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

#redirect /redir.php$ /.php 

rewrite ^.*$ /redir.php ;
			
#if ($request_uri !~ google)

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        
            location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  redir.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/site_name2/$fastcgi_script_name;
	     fastcgi_param HTTPS on;
            include        /etc/nginx/fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    server {
        listen       443;
        server_name  site_name1;
##
        ssl                  on;
        ssl_certificate      cert.crt;
        ssl_certificate_key  cert.key;
        ssl_session_timeout  5m;
#
        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers   on;
#
fastcgi_intercept_errors on;

        access_log  /var/log/nginx/site_name1.access.log;

        location / {
            root   /var/www;
            index  index.html index.htm index_x.php index.php;
        }


        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/$fastcgi_script_name;
            include        /etc/nginx/fastcgi_params;
        }


    }
	
	    server {
        listen       443;
        server_name  site_name2;
##
        ssl                  on;
        ssl_certificate      cert.crt;
        ssl_certificate_key  cert.key;
        ssl_session_timeout  5m;
#
        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers   on;
#
fastcgi_intercept_errors on;

        access_log  /var/log/nginx/site_name2.access.log;

        location / {
            root   /var/www/site_name2;
            index  index.html index.htm index_x.php index.php;
        }


        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/site_name2/$fastcgi_script_name;
            include        /etc/nginx/fastcgi_params;
        }


    }
}
Щас в принципе почти всё работает, но в одном случае при запросе http://site_name2 редиректит на https://site_name2/site_name2

При запросе http://site_name2/бла-бла-бла любое - работает всё верно, т.е. выходим на http://site_name2/redir.php и там уже на пыхе редирект на https. Подскажите где косяк?

И второй вопрос: возможно ли сделать так чтоб вирт-хотсты на nginx работали по https с разными сертификатами и ключами?

Последний раз редактировалось -=lebed=-; 31.03.2010 в 16:13..
 
Ответить с цитированием

  #1090  
Старый 01.04.2010, 00:13
#Wolf#
Постоянный
Регистрация: 26.03.2008
Сообщений: 311
Провел на форуме:
3799424

Репутация: 479
По умолчанию

Цитата:
Сообщение от Compton  
Wolf
PHP код:
<?php
$text
='<option value="10">гостинки
<option value="11">1-комн. кв.
<option value="12">2-комн. кв.
<option value="13">3-комн. кв.' 
;
preg_match_all('/<option value="(.+)">.+\r\n/',$text,$a);
print_r($a);
?>
Цитата:
поэтому вариант типа: #<option value="([0-9]+)">(.*+)#i
не подойдет.
у меня еще полно selecto'ov
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Delphi, .NET, Asm 6762 17.06.2010 21:23
[ *NIX ] Задай вопрос - получи ответ. Xszz *nix 1547 15.06.2010 15:41
[Lan] Задай вопрос - получи ответ! sedoy_xxx АнтиАдмин 133 31.03.2010 08:35
Всё о беспороводном соединении на кпк и смартфонах! Задай вопрос - получи ответ! ARMENIN Беспроводные технологии/WPAN/WLAN 2 02.11.2008 00:40
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ