The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Создать новую тему
 - Свернуть нити
Пометить прочитанным
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |  
Форум WEB технологии
Копирование html кода из браузера юзера с отправкой на сервер, !*! momai, (HTML) 15-Окт-14, 09:09  [ | | | ] [линейный вид] [смотреть все]
Приветствую. Возникла у меня сумасшедшая идея по сбору данных о пользователях.
Есть виджет авторизации ВКонтакте. Размещаем такой виджет у себя на сайте, не прикрепляя саму авторизацию. При входе на этот сайт, пользователь видит форму входа ВК со ссылкой на свой профиль ещё ДО нажатия кнопки входа. Ссылка на профиль содержится конечно же, только при условии аутентификации пользователя в соцсети, но это сделано практически у всех. При просмотре исходного кода страницы, мы видим, что ссылка на профиль лежит в открытом виде. Вопрос - как бы так разместить данный виджет, что бы пользователь по запросу (или без его участия) копировал содержимое ссылки и передавал на сервер сайта?
Была идея разместить данный виджет в форме копирования в буфер обмена. Но там свои костыли с использованием jquery и js - не смог разобраться. Идея остановилась на том, что виджет нужно разместить в некой форме копирования, которая копирует непосредственно исполняемый код.
  • УК РФ рекомендует так не делать, причем сразу по нескольким статьям , !*! Pahanivo (ok), 14:31 , 15-Окт-14 (1) +3
    УК РФ рекомендует так не делать, причем сразу по нескольким статьям.


    сообщить модератору +3 +/ответить
Google map +mysql +route, !*! evgeniy123, (MySQL) 11-Авг-16, 01:24  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте. нужно сделать вывод на карте google маршрута по точкам взятым из MySql. Как понятно будут паразитные отклонения. Как от этого избавиться или может есть уже решение что бы ровные линия показывали  ? Спасибо
Как перенаправить сайт по https c IIS на Apache сервер  , !*! lvlakcum, (Apache, http-серверы) 26-Июл-16, 13:41  [ | | | ] [линейный вид] [смотреть все]
Добрый день!

По умолчанию весь https трафик приходит на сервер iis. Как перенаправить конкретный сайт на другой сервер под управлением Apache?

Denwer: wordpress: публикация в интtрернет: ошибка плагина Phot, !*! Maksim, (Apache, http-серверы) 25-Июл-16, 09:28  [ | | | ] [линейный вид] [смотреть все]
Добрый день!

У меня возникла проблема, может кто поможет советом:

Денвер публикует сайт на wordpress в интернет, установлен плагин галереи - Photo Gallery by Supsystic. Проблема в том, что на локальной машине плагин все корректно отображает, а через интернет не может загрузить галерею. Где я накосячил?
Вводные:
На роуторе стоит проброс порта 80 на сервер с Denwer
Для каждого сайта указан файл htaccess с параметрами dnwr_ip - локальный адрес сервера dnwr_host - имя сайта

Думаю, что где-то в настройка Apache нужно что-то поправить, но не знаю что. Есть гуру?

  • gt оверквотинг удален во внутренних ссылках на страничках не прописан локалхос, !*! ыы (?), 15:21 , 27-Июл-16 (1)
    >[оверквотинг удален]
    > Денвер публикует сайт на wordpress в интернет, установлен плагин галереи - Photo
    > Gallery by Supsystic. Проблема в том, что на локальной машине плагин
    > все корректно отображает, а через интернет не может загрузить галерею. Где
    > я накосячил?
    > Вводные:
    > На роуторе стоит проброс порта 80 на сервер с Denwer
    > Для каждого сайта указан файл htaccess с параметрами dnwr_ip - локальный адрес
    > сервера dnwr_host - имя сайта
    > Думаю, что где-то в настройка Apache нужно что-то поправить, но не знаю
    > что. Есть гуру?

    во внутренних ссылках на страничках не прописан локалхост?

    сообщить модератору +/ответить
Захват данных посетителей из vk и fb, !*! kyboxxx, (Поиск и настройка типовых скриптов) 10-Июн-15, 23:53  [ | | | ] [линейный вид] [смотреть все]
Есть сервис LPtracker (вот презентация youtu.be/nDsZLV3MV78?t=1m53s). Они определяют id пользователя посетившего сайт.
Как это реализовано? Сложно ли это повторить на своем сайте (без LPtracker)? Есть ли готовые скрипты? Почему сервис захватывает только vk, но не fb?

Объясните не айтишнику на простом языке. Заранее спасибо!

  • а смысл какой смысл рассказывать не врачу тонкости лоботомии , !*! Pahanivo (ok), 08:13 , 11-Июн-15 (1)
    > Объясните не айтишнику на простом языке. Заранее спасибо!

    а смысл? какой смысл рассказывать не врачу тонкости лоботомии?

    сообщить модератору +/ответить
  • Вот тут почитайтеhttp habrahabr ru post 234067 в комментариях там есть пример , !*! Square (ok), 14:00 , 11-Июн-15 (9)
    > Есть сервис LPtracker (вот презентация youtu.be/nDsZLV3MV78?t=1m53s). Они определяют
    > id пользователя посетившего сайт.
    > Как это реализовано?

    Вот тут почитайте
    http://habrahabr.ru/post/234067/
    в комментариях там есть пример как именно это работает.

    сообщить модератору +/ответить


Защита web-сервера от парсинга, !*! deatwisedog, (Apache, http-серверы) 07-Июл-16, 11:55  [ | | | ] [линейный вид] [смотреть все]
Добрый день, коллеги!
Перешел на новый проект и появилась новая для меня задача.

Дано: VDS с Centos 6 на борту.
Развёрнут сайт на очень сильно перепиленном  bitrix.
Нужно защитить контент (Которого много и он уникальный) от парсинга/краулинга/скреппинга (Называйте как хотите).

1) Можно ли натравить на отслеживание парсинга fail2ban? Может есть готовый мануал? Сейчас он отслеживает только попытки брутфорса ssh.

2) Есть ли какие-то специализированные решения для bitrix?

3) Как вообще можно отследить парсинг? При условии, что парсер использует, скажем 10/100/1000 геораспределенных прокси?

ПыСы: Чувствую, что решение будет в чём-то схоже с защитой от DDoS, но обосновать не могу.

  • Назовём это тупостью и жадностью Ибо это оно и есть Расскжи начальству что ест, !*! _ (??), 18:10 , 07-Июл-16 (1)
    > Нужно защитить контент (Которого много и он уникальный) от парсинга/краулинга/скреппинга
    > (Называйте как хотите).

    Назовём это тупостью и жадностью. Ибо это оно и есть.
    Расскжи начальству что есть много компаний которые ежемесячно платят CDN-ам за доставку "контента (Которого много и он уникальный)" суммы в миллион раз превышающие стоимость вашей лавки :)

    > ПыСы: Чувствую, что решение будет в чём-то схоже с защитой от DDoS, но обосновать не могу.

    Прикрутите рэйт-лимиты, но оно тоже не сильно поможет, а клиенты будут недовольны.

    сообщить модератору +/ответить
  • gt оверквотинг удален Контент защищается паролем Рассмотри возможность автори, !*! Павел Самсонов (?), 11:55 , 08-Июл-16 (2)
    >[оверквотинг удален]
    > Развёрнут сайт на очень сильно перепиленном  bitrix.
    > Нужно защитить контент (Которого много и он уникальный) от парсинга/краулинга/скреппинга
    > (Называйте как хотите).
    > 1) Можно ли натравить на отслеживание парсинга fail2ban? Может есть готовый мануал?
    > Сейчас он отслеживает только попытки брутфорса ssh.
    > 2) Есть ли какие-то специализированные решения для bitrix?
    > 3) Как вообще можно отследить парсинг? При условии, что парсер использует, скажем
    > 10/100/1000 геораспределенных прокси?
    > ПыСы: Чувствую, что решение будет в чём-то схоже с защитой от DDoS,
    > но обосновать не могу.

    Контент защищается паролем. Рассмотри возможность авторизации на сайте.

    сообщить модератору +/ответить
  • 1 То, что попало в интернет - навсегда останется в интернете 2 Защитить сайт о, !*! keir (ok), 14:32 , 08-Июл-16 (4) +1
    1. То, что попало в интернет - навсегда останется в интернете.
    2. Защитить сайт от парсинга - невозможно. Любой сайт для парсера - html код, а он очень хорошо структурирован и парсить его нет проблем. Можно придумать разные извращения, но их изобретательство встанет вам в разы дороже чем возможные потенциальные убытки.
    3. Раз у вас каталог с графическим материалом, его можно защищать водяными знаками или не выкладывать полные оригиналы (Делать обрезку обрамления и хранить оригинал в недоступном никому месте. В дальнейшем это даст выиграть в суде борьбу за авторство).
    4. см. пункт 1.
    сообщить модератору +1 +/ответить
JQuery, DataTables - Draw не работает, зависает , !*! reno4, (JavaScript) 09-Июн-16, 15:27  [ | | | ] [линейный вид] [смотреть все]
Всем добрый день!

Есть динамически нарисованная страница с DataTables. По нажатию кнопки на этой странице отрисовываю динамически созданное модальное окно, в котором добавляю в БД с помощью AJAX запись. После этого перед удалением окна вызываю draw(). Выводится "Подождите" и все так висит. Правда, модальное окно закрывается. Но DataTable так и висит с этой надписью.

Какие есть мысли, идеи куда смотреть, что проверить?
По этой функции на сайте разработчика крайне скудная документация. Типа, вызвал - и все должно работать.

DataTables 1.10.12, JQuery 2.2.3, Chrome 50.0.2661.102.

Вот так выглядит код, срабатывающий по нажатию кнопки "Сохранить" из модального окна:

function request_insert () {
....
    $.ajax ({
        method: "GET",
        url:  "/cgi-bin/insert.php",
        data: {
            e: "request",
            place: place,
            addr: addr,
            service: srvc,
            qnt: qnt,
            msr: msr,
            dt_start: dt_start,
            dt_finish: dt_finish
        }
    });

    var dt = $('#request_pool').DataTable();
    dt.draw(false);

    $('#new_request').remove();
    $('#mask').remove();
}

#new_request - это модальное окно,
#request_pool - DataTable.

Помогите научиться разрабатывать web-карты, !*! CTW, (PHP) 17-Июн-14, 12:30  [ | | | ] [линейный вид] [смотреть все]
День добрый!
Вообщем такая жизненная проблемка....учился на криптографию,а приходится иметь дело с web.
Не совсем чайник в web, но и самостоятельно проблематично получается хотя бы одну цель сделать от начала и до конца((
по php почитал...получается писать небольшие скрипты простые....раньше программировал на Borland Delphi 6, Builder C++
Но мир шагнул в сторону не Desktop'ных ПО, а в сторону WEB...
будущее за web...и моя крипта особо нафиг ни кому не нужна стала...уже растет недовольство начальников бесконечных...а как бы не хотелось лицом в гряз ударяться((в течении рабочего времени нет возможности обучаться и что-то пробовать...живу в 7 часовом поясе от москвы((возможности записаться на курсы нет:ни денег ни времени((
дома по вечерам пытаюсь вникнуть в эти технологии и языки, но как-то особо не получается, чтобы к примеру хороший проект задумать и за неделю хотя бы реализовать(((

вообщем был бы признателен, кто бы научил разрабатывать web-карты: используя спутниковые, растовые, географические....чтобы можно было на них что-нибудь отмечать
Хотя бы подскажите какой алгоритм выбрать обучения в этой тематике?
мб конкретные ссылки с видеоуроками (кто в свое время учился) именно по разработке web-карт.
Заранее благодарен.

Apache не отдавать ответ, !*! phizikpro, (Apache, http-серверы) 19-Янв-16, 23:10  [ | | | ] [линейный вид] [смотреть все]
Приветствую, друзья! Подскажите пожалуйста можно ли как-то сделать чтоб Apache не отдавал ответ определенным IP?
Не работает rewrite при наличии директории, !*! plated899, (Поиск и настройка типовых скриптов) 19-Янв-16, 18:35  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте. Подскажите пожалуйста. Возникла проблема. Если директория существует то редирект в файле .htaccess не выполняется
Т.е. например
RewriteRule ^news/$ news.php [L]
не выполняется если есть папка news, папки нет, нет и проблем.
Может где-то в настройках apache проблема.
Помогите, решить, пожалуйста.
Реализация авторизации php+mysql+JS, !*! Сват, (PHP) 01-Дек-14, 17:51  [ | | | ] [линейный вид] [смотреть все]
Доброе время суток всем!
Подскажите дельным примером или конкретно как реализовать авторизацию(вкладками(Javasript)):
примерно накидал код как я думаю он должен работать...ввёл два div -один позволяет ввести пользователю логин и пароль и две кнопки-вход при если логин+пароль естьв базе и при отсуствии их-кнопка зарегистрироваться...после нажатия на кнопку зарегистрироваться-перед пользователем появляется три поля-ФИО и кнопка-Добавть..после успешного добавления-снова вернуться к полям для ввода логина и пароля(возврат ещё даже не могу понять как реализовать)...

вот к код( это часть скрипта php:

[code=php]
<div id="content">
    <div id="go">
            <h1>Введите данные</h1>
            <?php
                Aut=0;
                
                if (mysqli_connect("localhost","dbuser","4123456","db")) {
                echo '<form method="POST" action="index.php">
                     <h3>Фамилия</h3>
                      <input type="text" name="loginuser" value="">

                     <h3>Имя</h3>
                      <input type="text" name="passworduser" value="">

                      <input type="submit" name="btngo" value="Вход">
                      <input type="submit" name="btnreg" value="Регистрация">
                </form>';        
                }
                $query10="Select `login`,`passwd` from `db`.`audit`";
                $result10=mysqli_query($db1,$query10);
                
                if( isset ($_POST['loginuser'])){
                $floginuser=$_POST['loginuser'];
                if(preg_match('/\W/iu',$floginuser)) {
                echo "Введите Фамилию корректно", "floginuser";
                } else {
                        echo'Норм все.';
                        if( isset ($_POST['passworduser'])){
                        $fpassworduser=$_POST['passworduser'];
                        while ($date1=mysqli_fetch_assoc($result2)){
                            if ($floginuser == $date1['login']){
                                if ($fpassworduser == $date1['passworduser']){
                                //Input's fpassworduser and loginuser and submit's btngo and btnreg сделать невидимыми
                                echo "Добро пожаловатьв  личный кабинет," ,"floginuser";
                                
                                }
                                else echo "Не существует пароль- ", "floginuser";
                                Aut=1;
                                
                            }
                            }
                            else echo "Нет пользователя с логином- ", "floginuser";                            
                        }
                        }
                }
                
                
                ?>
                
    </div> <!-- end #go -->
    <div id="registration">
                <h1>Авторизация</h1>
                
                <p><h2>Заполните форму</h2></p>
                
                <?php
                
                if (mysqli_connect("localhost","dbuser","4123456","db")) {
                echo '<form method="POST" action="index.php">
                     <h3>Фамилия</h3>
                      <input type="text" name="fam" value="">

                     <h3>Имя</h3>
                      <input type="text" name="im" value="">

                     <h3>Отчество</h3>
                      <input type="text" name="otch" value="">

                      <input type="submit" name="btnadduser" value="Добавить">
                </form>';        
                }             
             if( isset ($_POST['fam'])){
                $ffam=$_POST['fam'];
                if(preg_match('/\W/iu',$ffam)) {
                echo "Введите Фамилию корректно", "ffam";
                } else {
                echo'Норм все.';
                                
             if( isset ($_POST['im'])){
                $fim=$_POST['im'];
                if(preg_match('/\W/iu',$fim)) {
                echo "Введите Фамилию корректно", "fim";
                } else {
                echo'Норм все.';
                
                
             if( isset ($_POST['otch'])){
                $fotch=$_POST['otch'];
                if(preg_match('/\W/iu',$fotch)) {
                echo "Введите Фамилию корректно", "fotch";
                } else {
                echo'Норм все.';
                
                  
            $db1=mysqli_connect("localhost","dbuser","4123456","db");
            $query1="INSERT INTO `db`.`sotrud` (`Fam`, `Im`, `Och`, `konttel`, `adres`, `poslrab`, `rozhdata`, `Emailsotr`) VALUES ('$ffam', '$fim', '$fotch', '212121', 'Россия', 'IT-отдел', '2014-11-11', 'ivmail@email.ru')";
            $result=mysqli_query($db1,$query1);
            if (!$result){
            echo "Извините Фамилия Имя Отчество не зарегистрировались в БД, попробуйте ещё раз";
            }
            mysqli_close($db1);
            }
            }
            }
            }
            }
            }
            ?>
    </div> <!-- end #registration -->
</div> <!-- end #content -->

как реализовать  взаимозаменяемость по местоположению двух дивов div=go и div=registration по нажатиям на соотв кнопкам...
Заранее благодарен.

Родитель-Наследник-Родитель, !*! kvasik, (CSS) 10-Апр-13, 20:17  [ | | | ] [линейный вид] [смотреть все]
Добрый день.
Возникла необходимость подправить шаблон, но т.к. с CSS сталкиваюсь впервые,
все же удалось понять логику и найти причину, по которой не отображается нужный контент.

Структура след:

-<div id="dd-main">
     -<HEADER class="dd-header clearfix">
         +<div class="dd-shapes">
         +<h1 class="dd-headline" data-left="0.77%" style="left: 267.546px;">
      </HEADER>
  +<DIV class="dd-sheet clearfix">
  +<p class="dd-page-footer">
</div>

Существует 2 родителя идущих друг за другом, например HEADER и DIV.
Контент этих родителей показывается друг за другом.
Но у родителя HEADER есть наследники с контентом, а проблема в том,
что контент родителя DIV идет сразу за HEADER, скрывая контент наследников HEADER.

Какие опции сделать, чтобы контент родителя DIV шёл после наследников HEADER, а не сразу за HEADER?

Заранее благодарен за ответ.

Настройка сети VPN или другой способ обойти защиту сайта, !*! kyboxxx, (Разное) 12-Фев-14, 15:56  [ | | | ] [линейный вид] [смотреть все]
Есть сайт avito, на котором требуется завести 2 аккаунта. Раньше делал это с одного компа, но в последнее время дублирующие лицевые счета стали банить. Пробовал через тор, но сайт не открывается. Требуется незамысловатый способ обойти защиту сайта от повторной регистрации аккаунта. Использование VPN поможет изменить ip, как я понимаю. Дальше нужно отключить java, плагины, куки.

Пробовал настроить VPN на рабочем компе, но интернет подключен через прокси сервер.

Создаю новое подключение по инструкции: мастер новых подключение - подключение к сети на рабочем месте - подключение к виртуальной частной сети - имя подключения - не набирать номер для предварительного подключения - адрес узла (us.justfreevpn.com) - для всех пользователей. В свойствах снимаю галку "требуется шифрование данных", тип PPTP VPN, отключил "служба доступа к файлам и принтерам сетей microsoft", "клиент для сетей microsoft". При подключении ввожу имя: PPTP Username: justfreevpn, PPTP Password: 1223. Пароль меняется несколько раз в день, но на момент попытки подключиться был актуальным.

Т.е. VPN через прокси не пашет. Что еще можно придумать?

  • А прокси-сервер часом не кеширующий или вовсе анонимный Куки почистить рекоменду, !*! михалыч (ok), 04:47 , 13-Фев-14 (1)
    > Есть сайт avito, на котором требуется завести 2 аккаунта. Раньше делал это
    > с одного компа, но в последнее время дублирующие лицевые счета стали
    > банить. Пробовал через тор, но сайт не открывается. Требуется незамысловатый способ
    > обойти защиту сайта от повторной регистрации аккаунта. Использование VPN поможет изменить
    > ip, как я понимаю. Дальше нужно отключить java, плагины, куки.
    > Пробовал настроить VPN на рабочем компе, но интернет подключен через прокси сервер.

    А прокси-сервер часом не кеширующий или вовсе анонимный?
    Куки почистить рекомендуется.

    сообщить модератору +/ответить
  • gt оверквотинг удален А нельзя договориться с собственником прокси-сервера, чт, !*! ЗЯТЬ (?), 16:03 , 13-Фев-14 (2)
    >[оверквотинг удален]
    > Пробовал настроить VPN на рабочем компе, но интернет подключен через прокси сервер.
    > Создаю новое подключение по инструкции: мастер новых подключение - подключение к сети
    > на рабочем месте - подключение к виртуальной частной сети - имя
    > подключения - не набирать номер для предварительного подключения - адрес узла
    > (us.justfreevpn.com) - для всех пользователей. В свойствах снимаю галку "требуется шифрование
    > данных", тип PPTP VPN, отключил "служба доступа к файлам и принтерам
    > сетей microsoft", "клиент для сетей microsoft". При подключении ввожу имя: PPTP
    > Username: justfreevpn, PPTP Password: 1223. Пароль меняется несколько раз в день,
    > но на момент попытки подключиться был актуальным.
    > Т.е. VPN через прокси не пашет. Что еще можно придумать?

    А нельзя договориться с собственником прокси-сервера, чтобы Вам прописали порт один какой-нибудь (чтобы NAT реализовать)...и поднимайте VPN легко...даже ip белого не нужно...или это проблематично договориться с собственником?

    сообщить модератору +/ответить
  • а вторую учетку на своем компе никак чтобы куки и пр не мешали , !*! sn (??), 00:14 , 14-Фев-14 (3)
    а вторую учетку на своем компе никак? чтобы куки и пр. не мешали?
    сообщить модератору +/ответить
Xsl Firefox, !*! Dmitry, (XML) 24-Фев-15, 16:52  [ | | | ] [линейный вид] [смотреть все]
Доброго времени суток!
Firefox не хочет корректно отображать таблицу, где идет последовательность тегов:
</tr><tr><td>...</td>
Выводит все в одну строку, </tr><tr> игнорируются. В опере, хроме и ie все отображается корректно.
Делаю так:
<xsl:text disable-output-escaping="yes"></tr><tr></xsl:text>
Не сталкивался ли кто со следующей проблемой?
Может кто-то подскажет варианты? Читал, что в firefox не до конца реализован xslt.
ссылки 'previous' и 'next', !*! Дмитрий_ДК, (HTML) 25-Ноя-13, 10:41  [ | | | ] [линейный вид] [смотреть все]
Всем привет, имеется папка с кучей файлов вида yyyy-mm-dd.html например (2013-10-25.html), эти файлы создаются автоматически(каждый день +1 новый файл)
как сделать в этих файлах были ссылки на следующий или предыдущий день
руками править каждый файл не вариант.
  • echo a href date -d yesterday Y- m- d html yesterday a fileec, !*! erera22 (ok), 22:34 , 25-Ноя-13 (1)
    > Всем привет, имеется папка с кучей файлов вида yyyy-mm-dd.html например (2013-10-25.html),
    > эти файлы создаются автоматически(каждый день +1 новый файл)
    > как сделать в этих файлах были ссылки на следующий или предыдущий день
    > руками править каждый файл не вариант.

    echo "<a href=\"$(date -d yesterday '+%Y-%m-%d').html\">yesterday</a>" >> file
    echo "<a href=\"$(date -d tomorrow '+%Y-%m-%d').html\">tomorrow</a>" >> file

    сообщить модератору +/ответить
  • А, всё-таки, попробуем сделать это средствами HTML Ну, или, скажем, не только ср, !*! михалыч (ok), 17:18 , 26-Ноя-13 (8)
    > Всем привет, имеется папка с кучей файлов вида yyyy-mm-dd.html например (2013-1025.html),
    > эти файлы создаются автоматически(каждый день +1 новый файл)
    > как сделать в этих файлах были ссылки на следующий или предыдущий день
    > руками править каждый файл не вариант.

    А, всё-таки, попробуем сделать это средствами HTML.
    Ну, или, скажем, не только средствами HTML, но и средствами SSI и Perl.

    Итак, имеется сервер apache.
    Имеется директория (dir), в которой находятся постоянно генерируемые файлы вида YYYY-MM-DD.html
    Создаём в этой директории dir файл .htaccess с приблизительно следующим содержанием.


    AddType text/html .shtml .html
    AddHandler server-parsed .shtml .html
    Options +Indexes +FollowSymLinks +Includes

    Тем самым разрешаем работу SSI в этой директории.

    Создаём в директории /cgi-bin/ файл, обзовём его bname.pl


    #!/usr/bin/perl


    use strict;
    use warnings;
    use Time::Local;
    use POSIX qw(strftime);


    # получаем название открытого файла
    my $date = $ARGV[0];
    # вырезаем из него всё, кроме цифр и тире
    $date =~ s/[^\d-]//g;


    # сопоставляем дату вида YYYY-MM-DD с полученными оставшимися значениями
    my ($yyyy, $mm, $dd) = ($date =~ /(\d+)-(\d+)-(\d+)/);


    # переводим дату из вида YYYY-MM-DD в количество секунд с начала эпохи в unix формат (epochtime)
    my $curr_date_epoch = timelocal(0, 0, 0, $dd, $mm-1, $yyyy); # current date сегодняшняя дата
    my $next_date_epoch = $curr_date_epoch + 86400;              # next date следующий день
    my $prev_date_epoch = $curr_date_epoch - 86400;              # previous date предыдущий день


    # делаем обратное преобразование времени - из epoch переводим в формат YYYY-MM-DD
    my $curr_date = strftime "%Y-%m-%d", (localtime($curr_date_epoch));
    my $next_date = strftime "%Y-%m-%d", (localtime($next_date_epoch));
    my $prev_date = strftime "%Y-%m-%d", (localtime($prev_date_epoch));


    # выводим на печать в web
    print "Content-type: text/html\n\n";


    # рисуем табличку и заносим полученные значения
    print "<table width='100%' border='0'>\n";
    print "<tr>\n";
    print "<td align='left'><a href='$prev_date.html'>$prev_date</a></td>\n";
    print "<td align='center'>$curr_date</td>\n";
    print "<td align='right'><a href='$next_date.html'>$next_date</a></td>\n";
    print "</tr>\n";
    print "</table>";

    Изменяем уже готовые файлы в директории dir для работы с SSI.
    Для этого используем следующий скрипт


    #!/usr/bin/perl


    use strict;
    use warnings;


    # директория с генерируемыми файлами
    my $dir = "/usr/local/www/apache22/data/dir";
    my $file;


    opendir(DH, $dir) or die "Couldn't open $dir : $!";


    while($file = readdir (DH)) {
        next if $file =~ /^\.\.?$/;
        next if $file !~ /^(\d+)-(\d+)-(\d+)\.html$/;
        next if -d "$dir/$file";


        &mod($file);
    }


    closedir(DH);


    sub mod($) {
        open(FH, "+<", "$dir/$file") or die "Can't read $file: $!";


        my $out = '';


        # в цикле вырезаем HTML теги </body> и </html> с заменой
        # вместо них вставляем инклюд и заново эти же удалённые теги HTML
        while(<FH>) {
            s|</body>||;
            s|</html>|<!--#include virtual="/cgi-bin/bname.pl?\$DOCUMENT_NAME" -->\n</body>\n</html>|;
            $out .= $_;
        }


        seek(FH, 0, 0)         or die "Seeking: $!";
        print FH $out          or die "Printing: $!";
        truncate(FH, tell(FH)) or die "Truncating: $!";
        close(FH)              or die "Closing: $!";
    }

    Новые генерируемые файлы преобразуем с помощью следующего скрипта modern.pl


    #!/usr/bin/perl


    use strict;
    use warnings;
    use POSIX qw(strftime);


    my $tomorrow = strftime "%Y-%m-%d", (localtime(time-86400));
    my $file = "/usr/local/www/apache22/data/dir/$tomorrow.html";


    open(FH, "+<", $file) or die "Can't read $file: $!";


    my $out = '';


    while(<FH>) {
        s|</body>||;
        s|</html>|<!--#include virtual="/cgi-bin/bname.pl?\$DOCUMENT_NAME" -->\n</body>\n</html>|;
        $out .= $_;
    }


    seek(FH, 0, 0)         or die "Seeking: $!";
    print FH $out          or die "Printing: $!";
    truncate(FH, tell(FH)) or die "Truncating: $!";
    close(FH)              or die "Closing: $!";

    Если генерирование нового файла в директории dir заканчивается в 24:00,
    то по cron'у запускаем скрипт modern.pl каждую ночь в 1 час ночи.


    0       1       *       *       *       root    /path/to/modern.pl >/dev/null 2>&1

    В результате в новых файлах (как и в старых) в конце файла будет добавлена строка

    <!--#include virtual="/cgi-bin/bname.pl?$DOCUMENT_NAME" -->

    При открытии файла будет вызов инклюда и генерация нужных ссылок.

    +--------------+--------------+--------------+
    |  2013-11-24  |  2013-11-25  |  2013-11-26  |
    +--------------+--------------+--------------+

    левые и правые даты - соответствующие ссылки.
    Такие дела.
    сообщить модератору +/ответить
  • как насчёт варианта с dom document url js -- тогда выйлы вообще не придётся ка, !*! pavel_simple (ok), 18:07 , 26-Ноя-13 (9)
    > Всем привет, имеется папка с кучей файлов вида yyyy-mm-dd.html например (2013-10-25.html),
    > эти файлы создаются автоматически(каждый день +1 новый файл)
    > как сделать в этих файлах были ссылки на следующий или предыдущий день
    > руками править каждый файл не вариант.

    как насчёт варианта с dom document url + js -- тогда выйлы вообще не придётся калечить


    сообщить модератору +/ответить
Из своего HTML убираю 'IE6' поддержку. Что скажете против?, !*! Af., (Особенности web-браузеров) 23-Ноя-12, 16:33  [ | | | ] [линейный вид] [смотреть все]
Остался в моём HTML, с былых времён, кусок в коде - конкретное, старое отклонение от стандартов, срабатывавший только в IE6 или если IE старше. Целевая аудитория - фундаментальная наука и высшее образование.

Меня интересуют возможные доводы именно против. Я глянул статистику у W3Schools. За год IE6 спустился от 1,1% до 0,3% (http://www.w3schools.com/browsers/browsers_explorer.asp). Похоже можно вырезать эту занозу для поддержки. Есть разумные доводы в пользу оставить?

Кеширование статики средствами apache, !*! ALex_hha, (Apache, http-серверы) 26-Апр-16, 17:34  [ | | | ] [линейный вид] [смотреть все]
Собственно столкнулся с необходимостью, есть проект на симфони, крутится на Apache/2.4.16, и надо для всех картинок по адресу /static/image/template/[0-9]+\.(png|jpg) кешировать их на сервере, чтобы не напрягать каждый раз symphony

Пробовал такой вариант


CacheQuickHandler off
CacheRoot /var/cache/apache2/symphony_cache_disk
<LocationMatch "/static/image/template/[0-9]+\.(png|jpg)">
   CacheEnable disk
</LocationMatch>

но в итоге запрос вида http://example.com/static/image/template/1234.png не попадает в этот Location. Есть подозрения из-за того, что в симфони все адреса роутятся на app.php.

Собственно, вопрос - как средствами apache можно кешировать файлы для определенного локейшена?

P.S.
nginx нет возможности использовать

websocket(серверная часть - perl), !*! Booker, (Perl) 11-Июл-13, 09:07  [ | | | ] [линейный вид] [смотреть все]
#!/usr/bin/perl
use strict;
use Socket;
use Carp;
sub logmsg { print "@_ \n" }
my $port = shift || 8888;
my $proto = getprotobyname('tcp');
($port) = $port =~ /^(\d+)$/ or die "invalid port";
socket(Server, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, pack("l", 1))   || die "setsockopt:$!";
bind(Server, sockaddr_in($port, INADDR_ANY)) || die "bind: $!";
listen(Server,SOMAXCONN) || die "listen: $!";
my $paddr;
$SIG{CHLD} = \&REAPER;
for ( ; $paddr = accept(Client,Server); close Client) {
    my($port,$iaddr) = sockaddr_in($paddr);
    my $name = gethostbyaddr($iaddr,AF_INET);
    my ($len, $data) = (0, "");
    $len = sysread(Client, $data, 8192, length($data));
    logmsg $data;
    my $Key;
    my $SecretKey = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
    if ($data =~ /Sec-WebSocket-Key: (.*?)\r/) {
        my $data = $1.$SecretKey;
        use Digest::SHA1 qw/sha1_base64/;
        $Key = sha1_base64($data);
    }
    my $SendHandshake = "HTTP/1.1 101 Switching Protocols\r\n".
    "Upgrade: websocket\r\n".
    "Connection: Upgrade\r\n".
    "Sec-WebSocket-Accept: $Key\r\n\r\n";
    logmsg $SendHandshake;
    print Client $SendHandshake;
}

___________________________________________________________________________________

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    </head>
    <body>
        <script type="text/javascript">
        </script>
        <table border="0" cellpadding="2" cellspacing="2" width="100%">
            <tr>
                <td align="center">
                    <script type="text/javascript">
function WebSocketTest()
{
  if ("WebSocket" in window)
  {
     alert("WebSocket is supported by your Browser!");
     // Let us open a web socket
     var ws = new WebSocket("ws://localhost:8888");
     ws.onopen = function()
     {
        //Web Socket is connected, send data using send()
                alert("Message is sent...");
        ws.send("Message to send");
     };
     //alert(ws.readyState);
     //ws.send('meaasge');
     ws.onmessage = function (evt)
     {
        var received_msg = evt.data;
        alert("Message is received...");
     };
     ws.onclose = function()
     {
         //websocket is closed.
        alert("Connection is closed...");
     };
  }
  else
  {
     // The browser doesn't support WebSocket
     alert("WebSocket NOT supported by your Browser!");
  }
}
WebSocketTest();
                        </script>
                </td>
            </tr>
        </table>
    </body>
</html>

Событие onopen в javascript не срабатывает. Хендшейки пробовал по разному формировать, но не добился результата. В чем моя ошибка?

Отключение ssl для url'a, !*! fire002, (nginx) 19-Апр-16, 18:45  [ | | | ] [линейный вид] [смотреть все]
Приветствую.
Требуется для некой страницы сайта отключить ssl (https), но есть проблемы.
Сайт поддерживается и по http и по https, но если зайти на https, браузер будет всегда редиректить на https, независимо от настроек сервера.
Обычный rewrite не работает, цикл.
Более того, если отключить ssl на сервере, браузер перестанет открывать сайт...
ps\\ nginx


Разрешить доступ в директорию либо IP, либо по паролю, !*! Assoll, (.htaccess, паролирование) 19-Апр-16, 10:10  [ | | | ] [линейный вид] [смотреть все]
Приветствую!
Подскажите, пожалуйста, как прописать в .htaccess

Мне хотелось бы организовать доступ в директорию таким способом:

с определённых IP адресов свободно, без запроса пароля,
а всем остальным через пароль в .htpasswd

Что уже умею:

Order Deny,Allow
Deny from all
Allow from  WWW.XXX.YYY.ZZZ

AuthName "Protected area, need authorization"
AuthType Basic
AuthUserFile /usr/www/.htpasswd
Require valid-user

Спасибо!

  • gt оверквотинг удален Directory home www site1 private AuthUserFile home ww, !*! skvernobot (ok), 10:36 , 19-Апр-16 (1)
    >[оверквотинг удален]
    > а всем остальным через пароль в .htpasswd
    > Что уже умею:
    > Order Deny,Allow
    > Deny from all
    > Allow from  WWW.XXX.YYY.ZZZ
    > AuthName "Protected area, need authorization"
    > AuthType Basic
    > AuthUserFile /usr/www/.htpasswd
    > Require valid-user
    > Спасибо!

    <Directory /home/www/site1/private>
    AuthUserFile /home/www/site1-passwd
    AuthType Basic
    AuthName MySite
    Require valid-user
    Order allow,deny
    Allow from 172.17.10
    Satisfy any
    </Directory>
    Такая конфигурация заставит всех "внешних" пользователей пройти процедуру идентификации, а тех, кто пришел с сети 172.17.10, пропустит. Apache предоставит им полный доступ к каталогу private без идентификации.

    Ключевая директива Satisfy

    сообщить модератору +/ответить
ИЗ PDF В HTML, !*! ben, (PHP) 26-Дек-14, 16:01  [ | | | ] [линейный вид] [смотреть все]
Нужно вывести страницы в формате пдф типа этой
http://travel-tourist-firm.ru/Pravila-Oformleniya_Kitajskoj-...
в шаблон и виде хтмл, чтобы он индексировался на других сайтах. Подскажите, подходящий класс или библиотеку для вывода для php. В дальнейшем также планируется редактировать pdf файл. Я не знаю тонкостей, поэтому надеюсь, что кто-то кто сталкивался даст дельный совет.
facebook get user friend list, !*! handler2006, (JavaScript) 07-Апр-13, 23:12  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте!
Вопрос крайне простой.
Имеем:
1. аккаунт на фейсбуке
2. созданное приложение  с app_id и прочей информацией
3. Линукс система с Node JS
Задача: по заданному id пользователя получить список его друзей

Полагаю, задача имеет общее решение для всех соц сетей.

Все примеры на фейсбуке работают только в границах приведенных примеров: я имею возможность только из браузера по их ссылке прочитать информацию с ихними параметрами в объеме, описанном в каждом примере.
перепробовал кучу всяких апи с графами и без.
Нужно зная указанные выше ключи из консоли вернуть требуемую информацию и ничего лишнего
Спасибо
Алексей

php 5.2 на centos 6.3, !*! alexs.scripa, (PHP) 08-Фев-16, 19:10  [ | | | ] [линейный вид] [смотреть все]
Добрый вечер.
Заранее спасибо за понимание так как только осваиваю это дело.Необходимо установить на centos 6 php5.2 , так как сайт работает только с этой версией (так решило руководство). php 5.3 удаляется нормально, php 5.2 ставиться тоже без ошибок, но сам сайт не запускается выдает листинг index.php. Может подскажите на какие настройки http.conf обратить внимание или где можно скачать образ с php5.2 (поделиться ссылками). К гуглу обращался рекомендации выдаваемые на различных сайтах не идут. Заранее спасибо за помощь.    
nginx   open socket #106 left in connection , !*! peering, (nginx) 30-Мрт-16, 17:27  [ | | | ] [линейный вид] [смотреть все]
Прошу помощи, уже не знаю куда копать !

Сервак HP на Debian 8,  12 GB , CPU  CPU E5-2420 6+6, 5 RAID,

Софт Apache2.4 +  nginx/1.6.2  

CMS Битрикс

Канал 1GB

Рекомендации по настройки ядра на соединения делал.

net.core.netdev_max_backlog = 10000
net.core.somaxconn = 262144
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_max_tw_buckets = 720000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_probes = 7
net.ipv4.tcp_keepalive_intvl = 30
net.core.wmem_max = 33554432
net.core.rmem_max = 33554432
net.core.rmem_default = 8388608
net.core.wmem_default = 4194394
net.ipv4.tcp_rmem = 4096 8388608 16777216
net.ipv4.tcp_wmem = 4096 4194394 16777216


Проблемы с ошибкой "Ожидание сокета  или просто ожидание соединения" происходят при 2000-2500 соединений TIME_WAIT + Established в куче. По портам 80 8080 примерно  около 1000-1200,

В момент падения

Оперативки 2-3 GB free

CPU  3-5   ( для него это норм)

В логах Apache всё ОК.

В nginx:

2016/03/30 17:54:40 [alert] 20206#0: *2874 open socket #106 left in connection 79
2016/03/30 17:54:40 [alert] 20206#0: *2894 open socket #109 left in connection 82
2016/03/30 17:54:40 [alert] 20206#0: *2895 open socket #110 left in connection 83
2016/03/30 17:54:40 [alert] 20206#0: *2900 open socket #111 left in connection 84
2016/03/30 17:54:40 [alert] 20206#0: *2901 open socket #112 left in connection 85
---------------------

netstat   куча соединений

cp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48253  
tcp    CLOSE-WAIT 0      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48592  
tcp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:47720  
tcp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:47822  
tcp    CLOSE-WAIT 533    0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:49098  
tcp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48224  
tcp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:47758  
tcp    CLOSE-WAIT 541    0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48951  
tcp    CLOSE-WAIT 0      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48606  
tcp    CLOSE-WAIT 0      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48575  
tcp    ESTAB      693    0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:49277  
tcp    ESTAB      590    0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:49811  
tcp    CLOSE-WAIT 2084   0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48750  
tcp    CLOSE-WAIT 532    0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48866  
tcp    CLOSE-WAIT 0      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48628  
tcp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:47791  
tcp    CLOSE-WAIT 0      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48616  
tcp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48517  
tcp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48516  
tcp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:47788  
tcp    CLOSE-WAIT 1      0                                                                  ::ffff:127.0.0.1:http-alt                                                             ::ffff:127.0.0.1:48207  
tcp    ESTAB      311    0                                                    

-------------------------------------
Вот конфиг


user www-data;
error_log /var/log/nginx/error.log ;.
worker_processes 8;
pid /run/nginx.pid;

events {
<------>worker_connections 4000;
<------> multi_accept on;
         use epoll;
}

http {

<------>##
<------># Basic Settings
<------>##

<------>sendfile on;
<------>tcp_nopush on;
<------>tcp_nodelay on;
        reset_timedout_connection on;
........
        keepalive_requests 1000;
<------>keepalive_timeout 30;
        #Razmer vnut tablici
<------>types_hash_max_size 2048;
        # Ne pok vers ngenix
<------>server_tokens off;
        #TIME OUT
        client_header_timeout 20;
        client_body_timeout 20;
        send_timeout 20;

<------># server_names_hash_bucket_size 64;
<------># server_name_in_redirect off;

<------>include /etc/nginx/mime.types;
<------>default_type application/octet-stream;

<------>##
<------># SSL Settings
<------>##
....
<------>ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
<------>ssl_prefer_server_ciphers on;

<------>##
<------># Logging Settings
<------>##

<------>access_log /var/log/nginx/access.log;
<------>error_log /var/log/nginx/error.log;

<------>##
<------># Gzip Settings
<------>##

<------>gzip on;
<------>gzip_disable "msie6";
>       gzip_vary on;

        gzip_min_length 10240;
        #Razr sgatie dlya vsex
<------>gzip_proxied any;
<------>gzip_comp_level 3;
        gzip_buffers 16 8k;
<------>gzip_http_version 1.1;
<------>gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text

------------------------------------

apache

<IfModule mpm_prefork_module>
<------>StartServers<-->         20
<------>MinSpareServers><------> 20
<------>MaxSpareServers><------> 80
<------>MaxRequestWorkers<-----> 1000
<------>MaxConnectionsPerChild   2500
#</IfModule>


Проверка наличия файла nginx, htaccess, php, !*! bobadd, (Apache, http-серверы) 28-Мрт-16, 18:23  [ | | | ] [линейный вид] [смотреть все]
Есть на площадке папка с кучей картинок (порядка 40 000).
Подскажите, пожалуйста, что быстрее всего сможет проверить наличие файла с заданным именем в данной папке?
1. nginx
2. Apache (.htaccess)
3. PHP

Моё мнение: в том порядке, в котором я и написал. Хотелось бы услышать ваши мнения.

htaccess Редирект с 'без www' на www, !*! bobadd, (Apache, http-серверы) 29-Окт-15, 14:47  [ | | | ] [линейный вид] [смотреть все]
Добрый день,

Мы на своих проектах всегда делаем редиректы с без ввв на ввв. Для этого в .htaccess добавляем

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(?![w]{3}\.)(.*)$
    RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

Всё бы хорошо, но когда для локального тестирования коллеги заходят по IP, получается редирект www.192.168.0.56
И ничего не пашет. Как правильно добавить условие на необработку доступа по IP?
Я попробовал так:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^([a-zA-Z]+)$
    RewriteCond %{HTTP_HOST} ^(?![w]{3}\.)(.*)$
    RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

Но редирект перестал работать совсем.
Подскажите, пожалуйста, как правильно сделать?



Apache+PHP, !*! Ajavrik, (PHP) 29-Май-14, 14:52  [ | | | ] [линейный вид] [смотреть все]
Привет всем.
Имеется FreeBSD.  На нее ставлю apache и PHP.
Ставлю PHP 5.4 (make install) на релиз 8.4, 9.2, 10.0 в котором PHP5.4.27 и меньше и там есть модуль для Apache.
На любой системе делаю portsnap fetch extract и получаю PHP5.4.28 в котором нет модуля Apache.
Подскажите как его поставить в апача?
  • Вам сюда -- www mod_php5 , !*! universite (ok), 02:53 , 30-Май-14 (1) +1
    > Привет всем.
    > Имеется FreeBSD.  На нее ставлю apache и PHP.
    > Ставлю PHP 5.4 (make install) на релиз 8.4, 9.2, 10.0 в котором
    > PHP5.4.27 и меньше и там есть модуль для Apache.
    > На любой системе делаю portsnap fetch extract и получаю PHP5.4.28 в котором
    > нет модуля Apache.
    > Подскажите как его поставить в апача?

    Вам сюда --> www/mod_php5

    сообщить модератору +1 +/ответить
  • зачем так усложнять себе жизнь можно же намного проще все решить, !*! nexuz (ok), 17:11 , 08-Окт-15 (3)
    > Привет всем.
    > Имеется FreeBSD.  На нее ставлю apache и PHP.
    > Ставлю PHP 5.4 (make install) на релиз 8.4, 9.2, 10.0 в котором
    > PHP5.4.27 и меньше и там есть модуль для Apache.
    > На любой системе делаю portsnap fetch extract и получаю PHP5.4.28 в котором
    > нет модуля Apache.
    > Подскажите как его поставить в апача?

    зачем так усложнять себе жизнь?
    можно же намного проще все решить

    сообщить модератору +/ответить
RewriteRule, !*! Макарыч, (.htaccess, паролирование) 25-Фев-16, 07:34  [ | | | ] [линейный вид] [смотреть все]
Помогите пожалуйста нарисовать правила реврайтов для apache
Нужен реврайт
http://site.ru -> https://site.ru
http://www.site.ru -> https://site.ru

пока добился только второго, как сделать первый?

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

Скрипт php не работает с вложенными папками., !*! Владислав, (PHP) 20-Фев-16, 17:07  [ | | | ] [линейный вид] [смотреть все]
Есть код. На сайте реализована система прохода по каталогу файлов в папке. В каждом каталоге, любую нижнюю папку можно засунуть в архив и в нем должно быть все, что находится в этой папке. Но скрипт ниже, почему-то, делает пустой архив и все.

Каким образом его доработать, чтобы можно было архивировать любую папку с ее содержимым?

Код http://dpaste.com/2R07X2Z

Как сделать прокси для сайта?, !*! Victor, (Построение хостинга) 28-Апр-14, 15:46  [ | | | ] [линейный вид] [смотреть все]
Прошу прощения за невнятный вопрос, но я пока сам не понимаю, как это правильно должно называться.

Смысл такой - есть машина с сайтом, она стоит у меня дома, я хочу купить хостинг и на него повесить доменное имя, но при всех запросах то, что на этом хостинге будет крутиться, должно просто пересылать запросы к моему домашнему серверу и ответы от домашнего сервера отдавать пользователям (без всякого проксирования на диск или в память). На начальном этапе это будет http протокол, потом https

Ткните меня носом, как это правильно называется, чтобы мне порыться в интернет и почитать, как это делается и, если не тяжело, какую-нибудь ссылку на хостинг и тарифным планом, где такое возможно ( желательно в России, потому что у меня сайт русский, чтобы я посмотрел, что это за опции и дальше сам стал искать )

  • Это называется реверс-прокси Для этого ставят nginx Любой Linux-VPS для этого, !*! PavelR (??), 08:35 , 29-Апр-14 (1)
    > Ткните меня носом, как это правильно называется

    Это называется "реверс-прокси".
    > чтобы мне порыться в интернет и почитать, как это делается

    Для этого ставят nginx.

    > и, если не тяжело, какую-нибудь ссылку
    > на хостинг и тарифным планом, где такое возможно

    Любой Linux-VPS для этого подойдет.


    сообщить модератору +/ответить
  • Не нужно даже хостинг, просто регистрируете доменное имя, создаете запись котора, !*! coffee (?), 11:28 , 30-Апр-14 (4)
    > Прошу прощения за невнятный вопрос, но я пока сам не понимаю, как
    > это правильно должно называться.
    > Смысл такой - есть машина с сайтом, она стоит у меня дома,
    > я хочу купить хостинг и на него повесить доменное имя,

    Не нужно даже хостинг, просто регистрируете доменное имя, создаете запись которая будет смотреть на ваш домашний ип (нужно чтобы внешний ип дома был статический, если динамический - есть сервисы типа dyndns, почти все роутеры поддерживают домашние, регистрируете dyndns бесплатный какой-нибудь, вешаете его на роутер, вам дадут домен, он всегда будет смотреть на ваш роутер, т.к. сам роутер будет сообщать в сервис свой текущий ип. потом идете в свою панель управления доменом вашего сайта и создаете синоним запись, которая будет вести с доменного имени вашего сайта на ваш dyndns роутер ) на роутере делаете проброс 80 порта TCP на внутренний ип адрес веб сервера, тоже надо чтобы был статический, в dhcp на роутере сделайте.

    > Ткните меня носом, как это правильно называется, чтобы мне порыться в интернет
    > и почитать, как это делается и, если не тяжело, какую-нибудь ссылку
    > на хостинг и тарифным планом, где такое возможно ( желательно в
    > России, потому что у меня сайт русский, чтобы я посмотрел, что
    > это за опции и дальше сам стал искать )

    сообщить модератору +/ответить
 
Пометить прочитанным Создать тему
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру