LINUX.ORG.RU

32
Всего сообщений: 1090

Зачем сайты стали делать форму авторизации из 2х страниц?

В чем профит?
Приходится править скрипты автонабора keepass для вот таких умников

 ,

bga_ ()

Как такое делают?

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

http://xofficer.ru/images/y8.png

 

XoFfiCEr ()

Rust для Web-разработки

Существуют ли уже в экосистеме Rust’а такие аналоги Web-фреймворков, как, например:

  • Spring Boot (Java, Kotlin, Groovy)
  • Grails (Groovy)
  • Django (Python)
  • Ruby on Rails (Ruby)
  • Play Framework (Scala)
  • и т. д.

То бишь All-in-One решения, в составе которых помимо проброса контроллеров имеется ORM к какой-нибудь там PostgreSQL базе данных, шаблонизатор HTML/CSS/JavaScript по типу того же Thymeleaf из Spring или Apache FreeMarker, ну и встраиваемый Web server по типу Tomcat/Netty/Jetty опционально.

В идеале будет круто если на выходе сайт (или хотя бы его логика) будет завёрнута в компактный бинарь, который будет deamon’изирован тем же systemd а сверху будет Nginx с proxy_pass. Тот же Spring Boot удобно вкомпиливает всё в единый JAR-файл, который можно деплоить просто на машину с установленной JRE и базой данных.

Собственно, хочется попробовать чего-то нового из мира Rust. А то у всех вышеперечисленных решений есть типичные фатальные недостатки, например:

  • Python/Django – убогая динамическая типизация со всеми её проблемами в виде кривого автодополнения абсолютно в любых IDE, ситуацию угрёбищный type-hinting, который даже не часть языка, а так просто нашлёпка сбоку, практически не спасает, ещё дрист километровыми traceback’ами на каждый чих.
  • Java/Spring Boot – с типизацией всё ок, но NPE-проблемы, несколько отстающая от современных трендов стандартная библиотека, для которой нужно создавать Util-классы. Далее у Spring’а слишком много магии в чёрной коробке, ехала аннотация через аннотацию, тяжесть JVM-стека, да и сам Spring тяжёлый.
  • Kotlin/Spring Boot – с типизацией всё ок, типы помогают избегать NPE в Kotlin-коде, но так как большинство библиотек это чистая Java, приходится всё рутинно обёртывать, стандартная библиотека вполне актуальная и удобная. Далее со Spring’ом не слишком хорошая интеграция, нужно там всё подпирать какими-то костылями-плагинами вроде all-open, тестирование тоже усложнено из-за совершенно других средств моккирования, несовместимых со Spring’овскими. Далее к проблемам JVM-стека и тяжести Spring’а добавляется ещё кучка зависимостей самого Kotlin’а и его плагинов интеграции.
  • Groovy/Grails – динамическая типизация, тяжесть Spring Boot и платформы JVM. Слишком декларативненько для логики. Возможно это просто с непривычки так ощущается.
  • Scala/Play Framework – Не слишком нравится синтаксис Scala, и Play Framework со сборщиком sbt мне показался тяжелее Spring Boot’овской связки с Gradle/Maven. Понятно, что можно выкинуть sbt и т. д., но как-то хочется посмотреть в сторону от JVM-языков.
  • Ruby/RoR – тормоза, динамическая типизация, синтаксис на любителя (я приверженец C-like языков), ещё не понравился жирный начальный проект, который генерируется там через сборщик. Он изначально обмазан кучей JavaScript-библиотек вроде свистопердящей полоски прогресс-бара сверху страницы и т. д.

Ну не PHP же, прости-господи, брать для Web-разработки в 2020 году, верно?! Есть ещё вариант с Go/<чем-то>, но количество батареек у Rust’а, на мой взгляд, побольше.

В общем, посоветуйте популярные Web-фреймворки на Rust, с которыми можно поиграться для своих pet-проектов.

 , ,

EXL ()

htaccess

Подскажите пожалуйста, как мне сделать такое?

  1. Есть запрос
/директория/файл?строка

надо превратить в

/директория/файл.php?строка

(то есть добавить к нему .php)

  1. А если файла не существует то превратить его в
/директория/файл.html?строка

(то есть заменить .php на .html)

 , , , ,

tonchikp ()

бесконечный рефреш страницы (haproxy)

Всем привет, помогите разобраться с напастью, начал познавать haproxy в связи с рабочей необходимостью. Задача при ввода Url типа https://my.server.ru/ сразу редиректить на каталог типа https://my.server.ru/1c_bd/ru_RU/ Это я сделал, но есть проблема, которая скорее всего связанная со структурой конфига haproxy, при переходе по ссылке и после редиректа старница начинает бесконечно рефрешится или редиректиться. прикрепляю полный конфиг моего haproxy. haproxy -c -f /etc/haproxy/haproxy.cfg ни на что не ругается, в логах кроме Apr 30 12:55:12 localhost haproxy[3124]: 192.168.1.92:53661 [30/Apr/2020:12:55:12.000] https-proxy~ 1c_path/s1 0/0/15/9/24 200 18570 - - ---- 2/1/0/0/0 0/0 "GET /SoftOnIT/ru_RU/ HTTP/1.1" так же ничего нет…

#---------------------------------------------------------------------
# Example configuration for a possible web application.  See the
# full configuration options online.
#
#   http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#---------------------------------------------------------------------

#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
    # to have these messages end up in /var/log/haproxy.log you will
    # need to:
    #
    # 1) configure syslog to accept network log events.  This is done
    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
    #    /etc/sysconfig/syslog
    #
    # 2) configure local2 events to go to the /var/log/haproxy.log
    #   file. A line like the following can be added to
    #   /etc/sysconfig/syslog
    #
    #    local2.*                       /var/log/haproxy.log
    #
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
	ssl-server-verify none
	ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
    ssl-default-bind-options no-sslv3
    tune.ssl.default-dh-param 4096

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

#-----------------------------------------------------------
frontend http-proxy
    bind *:80
	redirect scheme https code 301 if !{ ssl_fc } #редирект на https
	default_backend 1c_web
	########Для установки и обновления letsencrypt##############
	acl letsencrypt-acl path_beg /.well-known/acme-challenge/
	use_backend letsencrypt-backend if letsencrypt-acl
#---------------------------------------------------------------
frontend https-proxy
    bind *:443 ssl crt /etc/letsencrypt/live/my.server.ru/my.server.ru.pem
	acl 1c hdr_end(host) -i my.server.ru
	http-request set-path /SoftOnIT/ if 1c
	use_backend 1c_path if 1c
	default_backend 1c_web
#---------------------------------------------------------------
backend letsencrypt-backend
    server letsencrypt 127.0.0.1:8888
#---------------------------------------------------------------
backend 1c_web
    mode http
    cookie SERVERID insert indirect nocache
    server 1cweb 10.255.10.26:80 check cookie 1cweb
#---------------------------------------------------------------
backend 1c_path
    server s1 10.255.10.26:443 ssl

 ,

gidrotormoz ()

Что лучше tomcat или wordpress?

Есть некоторые планы сделать сайт на коленке, сейчас пользуюсь томкатом, но ещё не обращался к хостинг провайдерам , что в будущем удобней, какие плюсы и минусы. Например сделать https, и капчу, как захостить и что выгодней

 , ,

bad_master ()

Нормальная веб морда для sqlite без шифрования.

Subj пытался пользоваться adminer-ом но он требует чтобы бд была зашифрована. Альтернатива есть?

 ,

XoFfiCEr ()

Настройка Nginx

Всем привет коллеги. Прошу помощи у экспертов по настройке nginx. Данный сервис у меня поднят на centos 7. Разобрался с самой базовой настройкой сервиса, на текущий момент удачно проксирую https запросы снаружи внутрь. Но есть одна особенность, которую я пока не знаю как разрулить. Объясню по-этапно

  1. имеется nat трансляция на cisco маршрутизаторе по 443 порту на LAN адрес прокси сервера с nginx.
  2. имеется множество A записей во внешних dns зонах, которые смотрят на внешний транслируемый ip адрес.
  3. Собственно сама проблема. При переходе по https://внешний_ip_адрес/ открывается первый настроенный .conf на nginx, а конкретнее Битрикс, который я настроил в первую очередь.

Теперь вопрос, можно ли как то настроить nginx, чтобы при переходе по транслируемому ip адресу просто показывал к примеру 403 ошибку, да что угодно, только не сам сервис.

Заранее спасибо!

 , ,

gidrotormoz ()

Толстый web-сервер или толстый web-клиент

Что определяет выбор сабжа? Раньше вычисления уносились на сервер и он отдавал готовую страничку, сейчас же сваяют три мегабайта скриптов для показа одной строки. Идеологически второй способ правильным не считаю, но, наверно, должны быть ситуации, в которых такой подход оправдан. Или нет?

 , ,

gedisdone ()

OneWeb все

Британская компания OneWeb объявила о банкротстве. Соответствующее заявление, отправленное в суд по делам банкротств Южного округа штата Нью-Йорк, было опубликовано на сайте компании.

В последнее время руководством OneWeb велись переговоры о привлечении дополнительных инвестиций, однако они провалились в связи с ухудшением мировой экономической ситуации на фоне пандемии коронавируса.

По словам главы OneWeb Адриана Штекеля, многие сотрудники компании были уволены в связи со сложившейся ситуацией.

 

Jopich1 ()

Elm vs. PureScript

Кто нибудь использовал один из сабжей для коммерческого проекта? Какие плюсы/минусы? Что выбрать (для создания торговой площадки)?

 , , , ,

kookoo ()

Apache и snap-приложения

На убунто подобном дистребутиве имею apache с вебсайтом на 80 порте. Установил nextcloud через snap. Редоктировать apache на snap можно, но только через команды. Попробовал, поставить Nginx на 80 порт ,как proxy-reverse, попытка неудачная. Прошу совета у знающих людей. Цель чтобы запустить 2 одновременно работающих apache на одной машине, точнее дать возможность присвоить домен к сайту.

 , ,

hcoalex ()

Web-разработка на C

99% веб-сервисов я пишу на Go, поскольку для этого он очень удобен, особенно вместе с https://www.gorillatoolkit.org/. Сейчас с целью эксперимента и повышения навыка в C хочу сделать небольшой сервис (выйдет около 500-1000 строк). Изучил как люди делают и, кажется, все делают совершенно по-разному. Кто-то использует socket’ы напрямую, кто-то работает через либы с http, кто-то через fastCGI, кто-то вообще делает приложение как модуль для nginx’а.

Поделитесь опытом и библиотеками, которые используете в работе. В идеале хотелось бы получить список либ для http сервера, роутинга, темплейтов

 , , , ,

brualan ()

EWS-Gmail proxy

Добрый день,

Пытаюсь организовать прокси из Exchange Web Services (EWS) в Gmail, по этой инструкции,

Before first run

You need to create credentials so the application can login to GMail. Follow these steps:

1.Go to https://console.developers.google.com/project
2.Click 'Create project' and enter name of the project, e.g. 'EWS Gmail Proxy'
3.Click 'Use Google APIs'
4.Find GMail API and click Enable
5.Click 'Go to credentials'
6.From 'Where will you be calling the API from?' choose 'Other UI'
7.From 'What data will you be accessing?' choose 'User data'
8.Click 'What credentials do I need?'
9.Fill in form 'Add credentials to your project'
10.Click 'Download credentials' and finish the form. A JSON file with credentials will be downloaded to your disk.

и с помошью EWS-Gmail proxy,

https://github.com/stankay/ews-gmail-proxy

У кого есть опыт создания проектов через гугл-консоль ,подскажите, пожалуйста, как пройти поэтапно все перечисленные ниже шаги, до шага номер 10 , кроме шага 1-2, там все понятно, а дальше не могу найти в консоли, описанные, начиная с пункта 3, функции,

спасибо,

 , , , ,

gybkabob ()

Узнать ip сайта после удаления dns

Такая ситуация: у сайта накрылся домен, и нужно на него как нибудь зайти. Можно ли узнать его ip из истории браузера например?

 , ,

stripwire ()

Альтернатива Словоёбу

Нужна программа, которая парсит и обрабатывает слова с Yandex.Wordstat. Это нужно для быстрого создания семантического ядра сайта (с помощью отсева фраз-запросов и минус-слов). Т. е. на основе базовых фраз необходимо собрать реальные поисковые запросы, которые люди испльзуют в поиске Яндекса.

Под Windows есть Словоёб. Что есть под Linux для данной задачи?

 , ,

Deleted ()

OneWeb.satellites.count += 34

7 февраля 2020 года в 00:42:41 мск с площадки № 31 космодрома Байконур произведён успешный пуск ракеты-носителя «Союз-2.1б» с разгонным блоком «Фрегат» и 34 космическими аппаратами OneWeb.
https://www.youtube.com/watch?v=Ypm37-PYGyY

Первый этап ввода в эксплуатацию первых демо-версий терминалов клиентов запланировано до конца 2020 года, а начало коммерческой эксплуатации на 2021 год.
Планируется, что полная группировка будет состоять из 648 спутников (вес каждого — около 150 кг). Ожидаемый срок службы каждого спутника 5 лет.

Лет за 20 засорят весь ближайший космос. Что творят! А если хоть один упадёт на Грету?

 , ,

superuser ()

Главное меню Warcraft III: Reforged — это веб-приложение на Chrome

Главное меню Warcraft III: Reforged — это веб-приложение на Chrome

Энтузиаст Колин Корнаби решил узнать, почему в главном меню Warcraft III: Reforged такая низкая производительность. Непродолжительное расследование привело к тому, что, оказывается, всё меню — это веб-приложение, которое работает на базе Google Chrome. Более того, оно работает хуже, чем сама игра. По предположениям Корнаби, это связано с нагрузкой на одно ядро процессора. Энтузиаст также отмечает, что во время геймплея Reforged нагружает его процессор на 25%, тогда как главное меню на… 150-160% (два процесса, один на 100%, другой на 50-60%).

https://www.igromania.ru/news/90224/Glavnoe_menyu_Warcraft_III_Reforged-yeto_veb-prilozhenie_na_Chrome.html

https://mobile.twitter.com/colincornaby/status/1223073101312753664

 , ,

tne ()

Web-браузер с возможностью сохранения страниц

Есть под андроид сабж? Firefox не умеет сохранять страницы на локальном устройстве, да и их открытие несколько нетривиально - к карте памяти доступа нет.

 , ,

gedisdone ()

Подскажите, возможно ли такое архитектурное решение?

Добрый день, Сейчас работаю над проектом, который делает web scraping данных с одного веб сервера, обрабатывает их и выдает уже пользователю в удобном для него виде. Особенность проекта в том, что пользователю нужны свежие данные и по сути пользователь сам инициирует scraping ожидая довольно оперативно получить результат (в виде web интерфейса). Я написал скрипт, который забирает данные с веб сайта и загружает в БД сервера.

Все в принципе работает на одном пользователе, но я стал задумываться над масштабированием системы. Что-то мне подсказывает, что при увеличении нагрузки (количество запросов) на веб сервер, у него сработает какая-то внутренняя защита и мой сервер, который делает выгрузку будет забанен, как минимум на некоторое время.

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

 

samson_b ()