Бюджет: 500 UAH Термін: 1 день
Добрий день, звертайтеся, з'явилася цікава ідея по проекту)
- Проєкти 4
- Оцінка -
- Рейтинг 225
Бюджет: 300 UAH Термін: 3 дні
Здоров’я Готуємося виконати Вашу роботу.
Пишіть, ми обговорюємо деталі.
Ставки приховані
Ставки поки відсутні
Ставки приховані
-
Pavlo Pavlo
18 травня 2018
для одной достаточно, но, возможно вы не понимаете глубину сложности задания
-
Влад Иващенко 18 травня 2018без файлов?! а редактировать существующие файлы можно?
хотя бы просто одну строку добавить и готово )
-
Pavlo Pavlo
18 травня 2018
Нужно хранить данные в памяти сервера через какие-то серверные переменные. Задача не в том, что-бы написать 2 строчки кода, а в том что-бы ответить на вопрос "как такое вообще сделать "
-
Ярослав М. 18 травня 20181) либо использовать куки, но их могут потереть те же пользователи.
2) Либо юзайте какой-нибудь гугль драйв апи и храните файлы на гугле не трогая память сервака вообще. Когда юзер заходит на сайт, по его айди (какой угодно: из бд, либо браузер) находится файл на гугле, считывается и создается переменная, которую можно запихнуть в сессию, чтобы гугль не дергать каждый раз.
3) хранить тупо все в бд, минимум инфы. Два поля, айди юзера и врема последнего захода на сайт, которое каждый раз перезаписывается.
-
Александр Черножуков 18 травня 2018При открытии php страницы каким-либо пользователем отображется дата предыдущего открытия этой страницы каким-либо пользователем.
Вы понимаете, что нужно где-то хранить это число общих посещений.
Я так понимаю задача, показывать предыдущее посещение не данного пользователя, а вообще любого другого. -
Pavlo Pavlo
18 травня 2018
Конечно же "вообще любого"
Данного, извините, можно тупо в куки засунуть...
-
Александр Черножуков 18 травня 2018Могу реализовать с помощью кук, единственный минус, что заходя с другого браузера, пользователь не будет видеть дату, т.к. она будет сохранена в другом браузере.
-
Александр Черножуков 18 травня 2018P.S. Если для текущего пользователя, то можно использовать куки.
-
Максим У. 18 травня 2018Любые куки - для каждого конкретного пользователя. Вы зашли на сайт. Как с помощью кук вы узнаете когда заходил я?
-
Иван Филиппов 18 травня 2018вы зашли на саму - скрипт выполнил запрос через curl записав значение самому себе в память, а вам вводит то что было записано до вашего захода
-
Максим У. 18 травня 2018Может я вас не правильно понял, спорить не буду) Но когда вы в браузере обращаетесь к сайту, скрипт отрабатывает один раз, то есть запускается, формирует страницу, отправляет её в браузер и заканчивает свою работу. Он ведь не висит в памяти?
-
Иван Филиппов 18 травня 2018нет - мы пишем не в куки бразуера пользователя, а в озу сервера, по сути можно не использовать curl и куки.
-
Pavlo Pavlo
18 травня 2018
Иван, вы близки, но ...
https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEJAR.html
кукиждар поверх файлов работает.
Предполагается что в рабочем варианте будет 100000+ визитов, нужно от файлов уйти т.к. потеря или даже порча данных не критична
-
Pavlo Pavlo
18 травня 2018
я не знаю куда и как пишет редис, если это без файлов и не требует конфигурировать сервер и не нагрзит сервер больше чем файлы то можно, но по факту нужно писать одно число типа integer. Хотелось бы обойтись решением адекватным для такого обьема данных.
-
Андрій Безсонов 18 травня 2018redis храниться в запущенном процессе - это самое оптимальное решение для поставленной задачи
-
Андрій Безсонов 18 травня 2018не нашёл, как отключить сторинг.. Но в любом случае, можно написать cli приложение, которое слушает порт и может использовать всего два варианта "сохранить переменную и получить", но всё равно файлы будут быстрее.. И для 10^5 запросов файлы будут работать меньше секунды. Если чистый пхп использовать
-
Андрій Безсонов 18 травня 2018if ($file = fopen("file.txt", "r")) { while(!feof($file)) { $line = fgets($file); # do same stuff with the $line } fclose($file); } -
Влад Иващенко 18 травня 2018тогда уж лучше на сторону клиента все повесить)
как все счетчики и аналитиксы работают)
1. юзер открыл страницу, JS послало запрос с нужными данными на сторонний сервер
2. сервер нужные данные сохранил и дал ответ3. JS вывести в нужном месте дату полученную в ответе
4. дальше уже как угодно обрабатывать данные накопившиеся на сервер
на текущий сервер никакой лишней нагрузки
все данные с различных сайтов собраны в одном месте на техническом сервере
-
Pavlo Pavlo
18 травня 2018
Можно, но тогда нужно на той же технологии что и мемкеш написать минималистичный код хранения 1 числа, и убедится что глубоко внутри на нижних слоях не используются файлы.
Также, работа на шаред хостингах не предполагает возможности конфигурировать сервер
-
Василий Насонов 18 травня 2018Вы вообще нормальный человек?
Да любые данные хранятся где-то в файлах, записывает оно в базу, в память сервера, в куки, да во что угодно... и где-то "на днище морском" будет файл, в котором будет записано это ваше одно маленькое-маленькое integer число...
Актуальні фриланс-проєкти в категорії PHP
Хочу бота для Телеграму. Завантаження діалогів. З допомогою ШІ перевірка на потенційну брехню. Сайт з розширеними можливостями. Реєстрація, API, статистика тощо.
Потрібно мігрувати інтернет-магазин Opencart з PHP 7.4 на PHP 8.x. Наразі стоїть ядро v 3.0.3.8. Читаємо, що скоріш за все доведеться мігрувати і ядро на версію 4.0 і ніби складнощів не мало б бути... Функціонал здебільшого кастомний, також є Simple, OCFilter, Нова пошта. Чекаємо рекомендації і орієнтовну ціну. В ідеалі, хто вже проводив подібну роботу.
Необхідно виконати оновлення, перенесення та налаштування Laravel-проєктів на новий сервер із забезпеченням стабільної роботи, безпеки, захисту від експлойтів та коректної роботи всіх сервісів після міграції. 1. Основні задачі Підготувати новий сервер до роботи. Перенести файли проєктів, бази даних, конфігурації та cron-задачі. Оновити серверне програмне забезпечення. Налаштувати безпечне середовище для Laravel. Перевірити сумісність PHP, Laravel, Composer-пакетів та залежностей. Забезпечити захист від відомих експлойтів, шкідливих запитів та несанкціонованого доступу. Налаштувати SSL-сертифікати. Перевірити працездатність сайтів після перенесення. 2. Перенесення Laravel-проєктів Для кожного проєкту необхідно: Перенести файли проєкту. Перенести базу даних. Перенести .env конфігурацію. Налаштувати права доступу до директорій: storage bootstrap/cache Перевірити роботу: головної сторінки; адмін-панелі; авторизації; форм; API; завантаження файлів; email-відправки; cron-задач; queue workers.3. Безпека та захист Необхідно реалізувати базовий і прикладний рівень захисту: закрити root-доступ по SSH; налаштувати SSH-доступ тільки по ключах; змінити стандартний SSH-порт, якщо потрібно; налаштувати firewall; дозволити тільки необхідні порти; встановити Fail2Ban; приховати службові версії Nginx/Apache/PHP; заборонити доступ до .env, .git, backup-файлів, log-файлів; налаштувати правильні file permissions; перевірити проєкти на наявність шкідливих файлів; перевірити Composer-пакети на відомі вразливості; оновити залежності, якщо це не ламає функціонал; налаштувати захист від SQL injection, XSS, CSRF та path traversal; перевірити правильність Laravel APP_ENV та APP_DEBUG; встановити APP_DEBUG=false на production; налаштувати rate limiting для критичних endpoint-ів; перевірити доступи до storage/uploads; налаштувати захист від виконання PHP у upload-директоріях; перевірити права доступу до адмін-панелей. 4. SSL та домени Необхідно: Встановити SSL-сертифікати. Налаштувати автоматичне оновлення SSL. Увімкнути редирект з HTTP на HTTPS. Перевірити коректну роботу сайтів через HTTPS. 5. Резервне копіювання Необхідно налаштувати backup: файлів проєктів; баз даних; .env файлів; uploaded media; cron-конфігурацій; Nginx/Apache конфігурацій. Backup має виконуватись автоматично за розкладом. Бажано зберігати копії окремо від основного сервера. 6. Перевірка після перенесення Після міграції необхідно перевірити: відсутність 500/403/404 помилок; відсутність критичних помилок у Laravel logs. 9. Результат виконання Після завершення робіт має бути: Laravel-проєкти успішно перенесені на новий сервер; сайти працюють стабільно; SSL налаштований; сервер захищений базовими security-налаштуваннями; доступи до критичних файлів закриті; backup налаштований; cron та queues працюють; старий сервер можна відключити після фінальної перевірки.
Розробка двох спеціалізованих сайтів з продажу запчастинЗагальна інформація Потрібно розробити два спеціалізовані сайти: Запчастини для квадроциклів, UTV, SSV та іншої подібної техніки. Запчастини для спеціальної техніки. Існуючий сайт компанії: https://kiaparts.com.ua/ Нові проєкти не повинні бути копією існуючого сайту. Потрібно запропонувати сучасне рішення з акцентом на SEO, швидкість роботи, зручність для клієнтів та менеджерів, а також можливість подальшого розвитку та масштабування.Основна мета проєкту Створити не просто інтернет-магазин, а платформу для продажу запчастин, яка буде: добре індексуватися Google; залучати органічний трафік; зручно наповнюватися менеджерами; підтримувати великі каталоги товарів; легко масштабуватися в майбутньому. Для мене важливіше отримати правильну архітектуру та фундамент проєкту, ніж велику кількість функцій у першій версії.Архітектура проєкту Потрібно два окремі сайти для клієнтів. При цьому бажано, щоб вони були побудовані на єдиній платформі: одна адміністративна панель; спільний функціонал; одна або пов'язані бази даних; окремі домени; окреме наповнення; можливість різного дизайну та оформлення для кожного проєкту. Тобто фактично два окремі сайти для клієнта, але одна система управління для компанії. Перевагою буде модульна архітектура, яка дозволить у майбутньому запускати нові проєкти на цій самій платформі.SEO (один з головних пріоритетів) Головне завдання сайту не лише продавати товар, а й отримувати максимальну органіку з Google. Для кожної запчастини повинна створюватися окрема сторінка товару з власною URL-адресою. До завдання додається приклад існуючої сторінки товару, яка демонструє загальний принцип наповнення SEO-інформацією. Для кожного товару повинна бути можливість додавати: номер деталі; OEM номер; крос-номери; аналоги; бренд; назву; альтернативні назви; характеристики; фото; опис; PDF-файли; список застосувань; список моделей техніки. Основна ціль: Щоб одна запчастина могла отримувати трафік за десятками різних пошукових запитів: OEM номер; крос-номер; аналог; назва; бренд; модель техніки.Важливо щодо структури даних Не хочу, щоб менеджери вручну писали великі тексти для кожної сторінки. Бажано реалізувати структуровану систему даних: Товар → OEM номер → Крос-номери → Аналоги → Застосування → Моделі техніки → SEO сторінка Тобто менеджер заповнює інформацію один раз, а система використовує її для: SEO; пошуку; перелінковки; фільтрів; аналогів.Каталог та пошук Потрібно реалізувати пошук: по номеру; по частині номера; по OEM номеру; по крос-номеру; по назві; по бренду. Бажано: автопідказки; швидкий пошук; пошук аналогів; швидка робота навіть при великому каталозі.Імпорт та оновлення товарів Обов'язково: імпорт Excel; імпорт CSV; експорт даних; масове оновлення цін; масове оновлення залишків; масове оновлення описів; масове оновлення фотографій; масове оновлення SEO-даних.Складський облік Необхідно реалізувати: декілька складів; відображення наявності; резервування товарів; синхронізацію залишків. У перспективі необхідна можливість синхронізації зі старим основним сайтом та іншими проєктами компанії.Безпека Необхідно передбачити: захист адміністративної панелі; двофакторну авторизацію; розмежування прав доступу; журнал дій користувачів; захист від типових атак; захист API та інтеграцій.Резервне копіювання Необхідно реалізувати: автоматичні дампи бази даних; автоматичне резервування файлів; резервування фотографій; резервування документів; автоматичне збереження копій у хмару (Google Drive, AWS, Backblaze або аналогічні сервіси); можливість швидкого відновлення після збою або злому.Подальший розвиток На першому етапі реалізація нижче переліченого функціоналу не є обов'язковою. Але архітектура повинна дозволяти його подальше впровадження без необхідності створення нового сайту. У майбутньому можуть бути реалізовані: AI-пошук по каталогу; AI-генерація описів товарів; AI-генерація SEO-контенту; автоматичний пошук аналогів; інтеграція з CRM; інтеграція з постачальниками через API; автоматизація роботи менеджерів; аналітика продажів; B2B кабінети клієнтів; маркетингові інструменти. Тому важливо, щоб архітектура була готова до подальшого розвитку.Приклади сайтів Подобаються по структурі, логіці та зручності: Chrysler.com.ua Secoparts.net Comtac.parts RockAuto.com Не потрібно копіювати дизайн цих сайтів. Вони наведені як приклади зручної структури каталогу, пошуку та подачі інформації.Платформа Допускається використання OpenCart, WordPress/WooCommerce або інших платформ. Головні вимоги: хороша SEO-архітектура; швидка робота; можливість масштабування; наявність API; можливість подальшого розвитку. Прошу обґрунтувати вибір платформи та пояснити перспективи розвитку проєкту на ній.Бюджет Орієнтовний бюджет першого етапу: 3 000 – 7 000 USD за весь проєкт (два сайти на єдиній платформі). Бюджет може бути переглянутий після обговорення архітектури та етапів реалізації. Готовий розглядати поетапну реалізацію, але для запуска бажано быльш терміново реалізувати частину. Важливіше отримати правильну архітектуру та якісний фундамент для подальшого розвитку, ніж максимальну кількість функцій у першій версії.Від виконавця очікую пропозицію архітектури; рекомендацію платформи; приклади аналогічних робіт; орієнтовний бюджет; орієнтовні строки; бачення подальшого розвитку проєкту. Великим плюсом буде досвід створення каталогів автозапчастин, магазинів із пошуком по OEM-номерах та крос-номерах, а також проєктів із великим каталогом товарів. також прохання до заявки бажано додати короткий опис того, як саме ви бачите SEO-архітектуру проєкту та яким чином буде забезпечуватись органічний ріст каталогу. Фото додаю для простого прикладу сторінки під органічний пошук