создать папку original_photos прям на хостинге, и запретить её сканирование поисковыми системамиЕсли Вы не будете давать прямых ссылок на эту папку, вероятность того, что поисковые системы там что-то проиндексируют - стремиться к нулю.
Или есть какие-то другие грамотные варианты?Если места на хостинге хватает - почему бы и нет? Если не хватает сохраняйте на каком-нибудь облачном диске (вариантов масса). А что бы совсем хорошо - можете сохранить файлы и там и там.
2. Передавать какой-то секретный ключ с сервера АПИ и проверять его на сервере статистики. Этот вариант мне кажется наиболее удобным, но в каком виде его хранить и как передавать?Видится мне, что это самый разумный вариант. Список адресов - не слишком надёжен и не особо логичен.
Но это повысит нагрузку на серверНе совсем корректное утверждение. Сокеты тоже дают некоторую нагрузку на сервер + по большому счёту - всё что угодно может повысить нагрузку на сервер. Вопрос не в нагрузке на сервер а в том, в каких величинах эта нагрузка выражается и насколько она критична в каждом конкретном случае.
Клиент хочет это видеть на вп, но что-то мне кажетсяМне тоже так кажется.
Может ли вп такое потянуть ?При должном желании - думаю на ВП можно сделать всё что угодно.
Может ли бд такое тянуть и тд?Если альтернативы "ВП" в контексте данного вопроса я могу себе представить, то альтернативы БД - вряд ли...
Подскажите , какой стек больше подойдёт под эти запросы ?Любой, на котором Вы (или кто-то иной) сможет реализовать выше озвученное, "ВП" в целом исключением из этого списка не является. Тут вопрос скорее целесообразности, а не возможности как таковой. Более ли менее серьёзные проекты я бы делал на каком-нибудь фреймворке (на Python'е или на PHP).
Как можно автоматизировать? подскажите какие могут быть варианты решения)На вскидку:
Как грамотно запросить документацию на сайт?У кого?
modxДокументация на Modx должна быть бы либо на их сайте, либо в районе их их репозитория, например тут и тут. Если же Вы говорите про более глубокую документацию, например по каждому отдельно взятому решению принятому на уровне системы, с учётом того, что это Modx, я думаю, наиболее вероятным вариантом ответа будет - отсутствие (чуть менее чем полное) подобной документации в природе.
Здравствуйте, как в текстовом поле запретить все теги, кроме определенных.Здравствуйте, я думаю это относительно легко реализовать с помощью JavaScript'а, но в целом этот подход настолько же бессмысленный, насколько и простой. Во первых по тому, что пользователь может банально отключить JS у себя в браузере (одним кликом), а во вторых - запрос может легко придти вообще не из браузера (иными словами, "рукастые" пользователи всегда могут прислать всё что угодно, в буквальном смысле). По этому, я бы на Вашем месте ограничился "табличкой" аля "Разрешены только такие-то теги", а все запрещённые теги просто вырезал бы на стороне сервера (молча).
Подскажите, как лучше верстать проекты. Может быть вы посоветуете другие подходы в разработкеКак лучше - зависит от конкретного случая, но, когда я занимался вёрсткой это выглядело примерно так:
1) На сколько удобны Homstead + Vagrant, которые они рекомендуют использовать? Посмотрел информацию по его установке, использовании. Разве это удобнее всем привычного openServer?
2) Прямо из коробки Laravel поддерживает Vuejs, но посмотрев их курсы на Laracasts и ещё пару примеров компонентов для него, мне показалось, что он не совсем подходит для того, чтобы делать на нём те же слайдеры, системы частиц и подобные вещи.VueJS - это JS фреймворк, волей судьбы "встроенный" в Laravel. Как мы знаем, JS относится к области вёрстки, что в целом с фреймворком серверным связано крайне слабо. Какие элементы в вёрстке использовать лично Вам - дело - лично Ваше. Из собственного опыта могу сказать, что мы в своей работе не гнушаемся ни VueJS, ни jQuery, ни различными готовыми слайдерами и вообщем всем, что может быть уместно в рамках конкретных требований конкретного проекта. По сему - я думаю Вам не стоит забивать себе этим голову. Насколько и чем хорош VueJS - можно узнать из массы уроков по оному.
Вообще не понравилось, что в HTML-разметке вставляются ивент-слушатели, как в стандартном JS прям (@click, onclick). Мне это напомнило встраивание CSS прямо в тэги. Мне нравится в jQuery то, что все ивенты вешаются прямиком в скрипте, не заглядывая в HTML-разметку.На вкус и цвет все фломастеры разные. Какой подход "лучше" - покажет только время. В данный момент, мы используем оба из них и особо не паримся по этому поводу.
Я просмотрел вакансии на разных сайтах, чтобы понимать, какой стэк технологий нужен работодателям, и в требованиях я вообще не нашёл, что им нужен jQuery, только Vuejs. Отсюда и вопрос, то есть мне нужно переписать свои слайдеры, системы частиц под Vuejs? Часто встречал сообщения о том, что переплетать эти две технологии плохая затея. Либо то, либо то. Посмотрел предложенные готовые слайдеры, вообще не впечатляют.Работодателю нужны сотрудники способные принимать решения и выдавать конечный продукт. Остальное особого значения не имеет. Если Вы сможете выдавать продукт нужного качества в рамках поставленных сроков, а потом поддерживать этот продукт в надлежащем состоянии - поверьте мне, работодателю будет совершенно всё равно, на как и на каком языке Вы это делаете, хоть на С++ бекенд пишите.
3) Хорошим ли является планом, чтобы сделать воображаемый интернет-магазин для обучения и освоения Laravel? Или как лучше изучать эту технологию от легкого к сложному? Всегда была проблема с тем, чтобы структурировано изучать ту или иную область разработки. Чтобы не тупо копировать, а понимать, как всё устроено и как работает.Что бы понимать что-то структурно - нужно понимать истоки. В области веб-разработки таковыми "истоками" могут являться например, протокол HTTP, фундаментом которого будет протокол TCP/IP, в основе которого лежат другие технологи... чем лучше Вы будете понимать как всё работает изначально, и в результате чего появилась, например, такая парадигма как MVC, как работает composer так далее, далее, далее... когда Вы будете всё это понимать - в голове будет складываться целостная картина происходящего, а не обрывки каких-то знаний. Разработка интернет-магазина в этом процессе, глобально, погоды не сделает, но какой-то опыт безусловно даст, главное, перед тем как будете разрабатывать собственный магазин - найдите какой-то уже готовый и постарайтесь в точности повторить его функционал, начиная от восстановления пароля заканчивая тем, как в корзине пересчитывается цена при изменении количества товара.
Что посоветуете по фронтенду? Vue? Есть ли там какие-то наборы компонент по аналогии с ExtJs.Я конечно могу ошибаться (на счёт ExtJS), но по моему, ExtJS - это набор копонентов, а Vue - это JS-фреймворк, что само по себе несколько разные вещи... Компоненты для VueJS есть, их много, в т.ч. готовых, они бывают самые разные и скорее всего, какие-то таблицы, календари, кнопки и прочую белиберду для Vue уже либо адаптировали, либо написали, либо [что-то ещё], но от этого аналогом ExtJS он не стал.
Особенно удобные гриды интересуют.Удобные гриды есть сами по себе, их масса и к Vue или ExtJS'у они обычно отношения не имеют (хотя, вполне могут быть представлены как компонент VueJS или адаптированы специально под него), например: DataTables.
Такое vue может или всё с 0 ручками там пилить надо будет?Как я уже говорил ранее, в режиме "из коробки" в Vue нет вообще никаких "компонентов" (я имею в виду компонентов аки jQuery UI и ему подобных), он для другого предназначен. А может или нет... - скорее может, чем нет. Но можно и "ручками".
Если всё с 0, то где можно посмотреть бесплатные макеты-вёрстки аля админка? Я не дизайнер просто.Как бы это странно не прозвучало, но в поисковике. Там этого добра - тонна, "по рублю за пучёк", например: раз, два, три и т.д.
Но тут наверное мне нужен микрофреймворк. С lumen/slim/symfony4 - что было бы проще или лучше?По моему, Symfony-4 это всё же не микрофреймворк... Это всё тот же старый добрый симфони, после "серьёзной липосакции" по умолчанию. Микрофреймворк от авторов Symfony -- это Silex.
Насколько надежен этот хеш? Реально ли получить исходный пароль зная хеш? Возможно это в принципе?Надёжность хэша зависит от алгоритма хэширования.
Я думаю это довольно надежная защита. Но как это реализовать?Я тоже думаю, что это довольно надёжная защита от брутфорса паролей, что в целом никак не говорит о защите во всём остальном. Как реализовать - самые простые варианты:
Реально ли получить исходный пароль зная хеш? Возможно это в принципе?Сам по себе хэш - это не необратимый тип шифрования, если вопрос в этом. Иными словами, хэш-алгоритмы какой либо "расшифровки" не подразумевают априори. Но, реально существуют готовые таблицы хэшей для md5 (я думаю, что и для других алгоритмов хэширования они существуют тоже и то, что Вы уже догадались, что таблица представляет из себя исходные данные и результат их хэширования), с помощью которой в некоторой степени "расшифровать" md5 можно (ну если конечно не брать во внимание тот факт, что совершенно разные комбинации могут в итоге давать одинаковый хэш, т.к. кол-во комбинаций бесконечно, а кол-во вариаций хэша всё-таки имеет какое-то конечное значение).
Я подумал начать изучать криптографию, чтобы улучшить защиту и хранить не хеш пароля, а хеш шифра пароля.Осталось дело за малым:
Безусловно, нужно еще этот метод шифровки придумать, но это уже другой вопрос.
На какой срок кешировать изображения, файлы css, js? Имею ввиду Cache-Control, Expires в заголовке ответа. Что учитывать при выборе срока?Для выбора минимального срока кэширования, можно учитывать рекомендации Google PageSpeed например, для максимального - особенности конкретно вашего проекта и как следствие - конечную необходимость.
а как на самом деле дела обстоят — есть достоверная информация по браузерам?А на самом деле, есть тесты, например вот такой, а так же здравый смысл, который подсказывает, что размер куки >4Кб - в подавляющем большинстве случаев говорит о серьёзных ошибках разработчика.
Опыта в web разработки особо нет, в какую сторону смотреть?В сторону учебника по веб-разработке, в первую очередь.
Вроде Yii позволяет просто админки делать? Может есть еще какие-то фреймворки? Что порекомендуете?Практически любой более ли менее полноценный фреймворк позволяет "просто" или "по быстрому" делать админки. В т.ч. Yii, Laravel, Symfony, Django (Python) и многие другие.
Как првильно написать панель навигации и футер один раз, и вставлять их код в мою страницу ? Плохо ли это для индексации ? Желательно 2 варианта: на php и jsНа PHP это выглядит максимально просто. Например так:
<?php include("{$_SERVER['DOCUMENT_ROOT']}/header.php"); ?>