• Как хранить пароль и логин в веб-приложении?

    На бэкенде нет особой разницы, куда класть.
    Вариант раз: в открытом виде в переменные среды, appsettings, или любой другой конфиг. Для удобства можно в base64 закодировать, но не обязательно.

    Вариант два: секурно, но сложно. Используя внешний сервис наподобие Vault или Azure Key Vault.

    UPD: совсем забыл. Никогда не коммить секреты в гит. Если закоммитишь и забудешь - замучаешься вычищать.
    Именно по этой причине они должны быть в отдельных файлах храниться, а не в коде. А сами файлы - записаны в .gitignore
    Ответ написан
    2 комментария
  • Ошибка Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    А вы откройте в консоли (Ctrl+Shift+G в Chrome) вкладку "Network", найдите ваш запрос, и посмотрите что там приходит во вкладке "Response".

    5e736588b215e932457830.png
    Подсказка: приходит не JSON.
    Ответ написан
    Комментировать
  • Как управлять сайтом на asp.net core?

    Я не могу найти никакой информации о том, как обычно контролируют сайты на asp.net. Админка, или фреймворк какой подключается...не пойму.

    Ручками, всё ручками.
    Пишешь сам свою админку и через неё управляешь, что бы под этим не подразумевалось.
    Ответ написан
    4 комментария
  • Где найти нормальные курсы по C#?

    @nadonado
    Курсы ITVDN от Александра Шевчука очень хорошие, он разжевывает настолько, насколько это возможно - для новичков это особенно круто. Особенно понравилось как он объяснял ООП, спустя много лет понимаю, что это было хорошо. Я смотрел эти курсы несколько лет назад, они наверняка обновлены и дополнены. Касательно их платности - решать конечно Вам, но я в свое время когда был бедным студентом недобросовестно скачивал эти курсы с торрентов, благо они там были.
    Ответ написан
    1 комментарий
  • Как ПОЛНОСТЬЮ и от всего скрыть свой ip на пк?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Только конфигурить отдельный ФИЗИЧЕСКИЙ роутер/брэндмауер (или прокси сервер на нём, закрыв все исходящие соединения вне прокси) для подключения устройств-клиентов роутера (компьютеры, мобилы, планшеты, etc.) через установленное туннелированное соединение с выходом в другую ИНКАПСУЛИРОВАННУЮ сеть.

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

    Иначе, никак не сделать надёжно: софт на ПК рано или поздно "сольёт" ваш реальный IP-шник.
    Ответ написан
    1 комментарий
  • Как ПОЛНОСТЬЮ и от всего скрыть свой ip на пк?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    вытащить сетевуху
    Ответ написан
    Комментировать
  • Как достать с помощью phpquery тег без id и classa?

    Digiport
    @Digiport
    PHP рулит
    $param = $pq->find("param");
    $meta = $pq->find("meta[property^=some]");
    $embed = $pq->find("embed[src]");

    Короче используйте селекторы по полной, phpquery для того и создан.
    Хочу добавить, что phpquery очень ресурсоёмкая и медленная библиотека и её не стоит использовать на больших проектах. Есть более современные jquery-like парсеры. Погуглите.
    Ответ написан
    1 комментарий
  • Как на каждую из кнопок повесить открытие окна?

    AItF4
    @AItF4
    Помог ответ? Отметь решением.
    На css:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta charset="utf-8">
    <title>Открытие окна</title>
    <style>
    /* Базовые стили слоя, затемнения и окна */
    .overlay {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    display: none;
    /* фон затемнения */
    background-color: rgba(0, 0, 0, 0.65);
    position: fixed; /* фиксированное позиционирование */
    cursor: default; /* тип курсора */
    }
    /* активируем слой затемнения */
    .overlay:target {
    display: block;
    }
    /* стили окна */
    .popup {
    top: -100%;
    right: 0;
    left: 50%;
    font-size: 14px;
    z-index: 20;
    margin: 0;
    width: 85%;
    min-width: 320px;
    max-width: 600px;
    /* фиксированное позиционирование, окно стабильно при прокрутке */
    position: fixed;
    padding: 15px;
    border: 1px solid #383838;
    background: #fefefe;
    /* скругление углов */
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    font: 14px/18px 'Tahoma', Arial, sans-serif;
    /* внешняя тень */
    -webkit-box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3);
    -moz-box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3);
    -ms-box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3);
    box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3);
    -webkit-transform: translate(-50%, -500%);
    -ms-transform: translate(-50%, -500%);
    -o-transform: translate(-50%, -500%);
    transform: translate(-50%, -500%);
    -webkit-transition: -webkit-transform 0.6s ease-out;
    -moz-transition: -moz-transform 0.6s ease-out;
    -o-transition: -o-transform 0.6s ease-out;
    transition: transform 0.6s ease-out;
    }
    /* активируем модальный блок */
    .overlay:target+.popup {
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    top: 20%;
    }
    /* формируем кнопку закрытия */
    .close {
    top: -10px;
    right: -10px;
    width: 20px;
    height: 20px;
    position: absolute;
    padding: 0;
    border: 2px solid #ccc;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    border-radius: 15px;
    background-color: rgba(61, 61, 61, 0.8);
    -webkit-box-shadow: 0px 0px 10px #000;
    -moz-box-shadow: 0px 0px 10px #000;
    box-shadow: 0px 0px 10px #000;
    text-align: center;
    text-decoration: none;
    font: 13px/20px 'Tahoma', Arial, sans-serif;
    font-weight: bold;
    -webkit-transition: all ease .8s;
    -moz-transition: all ease .8s;
    -ms-transition: all ease .8s;
    -o-transition: all ease .8s;
    transition: all ease .8s;
    }
    .close:before {
    color: rgba(255, 255, 255, 0.9);
    content: "X";
    text-shadow: 0 -1px rgba(0, 0, 0, 0.9);
    font-size: 12px;
    }
    .close:hover {
    background-color: rgba(252, 20, 0, 0.8);
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
    }
    </style>
    </head>
    <body>
    
    <a href="#win1">Смотреть подробнее 111</a>
    <a href="#x" class="overlay" id="win1"></a>
    <div class="popup">
    111 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae quam ratione, numquam nam eos veritatis distinctio.
    <a class="close"title="Закрыть" href="#close"></a>
    </div>
    <br />
    <a href="#win2">Смотреть подробнее 222</a>
    <a href="#x" class="overlay" id="win2"></a>
    <div class="popup">
    222 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae quam ratione, numquam nam eos veritatis distinctio.
    <a class="close"title="Закрыть" href="#close"></a>
    </div>
    <br />
    <a href="#win3">Смотреть подробнее 333</a>
    <a href="#x" class="overlay" id="win3"></a>
    <div class="popup">
    333 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae quam ratione, numquam nam eos veritatis distinctio.
    <a class="close"title="Закрыть" href="#close"></a>
    </div>
    
    </body>
    </html>
    Ответ написан
    1 комментарий
  • Как убрать кавычки в столбце Excel?

    zamboga
    @zamboga
    Аналитика данных, BI-аналитика, дашборды
    CTRL+H
    Замена кавычек на "пустоту".

    Если нужна именно формула, то вот эта формула убирает по одному символу сначала и с конца строки.

    =ЛЕВСИМВ(ПРАВСИМВ(A1;ДЛСТР(A1)-1);ДЛСТР(A1)-2)
    Ответ написан
    Комментировать