Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Возглавьте армию своей страны в войне с коварным врагом. Управляйте ресурсами, принимайте ключевые решения и ведите Граднар через суровый конфликт. Ваши действия определяют будущее, приводя страну к победе или поражению.

Симулятор войны: 1985

Мидкорные, Стратегии, Симуляторы

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
6
AGENT30
11 месяцев назад

Как потерять 2 месяца и 100+К с агентством INTEC⁠⁠

Хочу рассказать занимательную историю и поделиться личным опытом сотрудничества с интернет-агентством INTEC (INTEC DIGITAL). Единого названия нет даже на их сайте, полная неразбериха, как и в работе их команды. Дальше будет много эмоций и скринов...

Предыстория

Есть у нас корпоративный сайт на Битриксе, на шаблоне. 2 или 3 года мы просили добавить в обновление нормальный функционал мультирегиональности. Разумеется, мимо. В этом году, в июле, я написала разработчикам шаблона "Феникс", компании "Концепт" с просьбой доработать функционал платно.

Несколько раз обратившись "в пустоту", со мной все же вышла на связь менеджер INTEC (назовем ее "Менеджер-1), но представилась, как менедджер компании "Концепт". Я еще не знала (а жаль), что товарищи из INTEC просто, видимо, перекупили шаблон и к его разработке не имеют никакого отношения.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Здесь и далее будут скрины переписок. Имена, по понятным причинам, скрыты.

Провал. Начало.

24 июля 2024 г. Менеджер-1 после долгих и мучительных расчетов все же назвала стоимость услуг.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Здесь и длаее "Менеджер-1" представляется от компании "ИНТЕК". Обратите внимание на сообщение о том, что оставшиеся часы не сгорят. Это важно.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Обговорили важный момент: работа на тестовом сервере. Менеджер-1 все подтвердила. Счет был оплачен 24 июля.

7 августа 2024 г. мне написал "Менеджер-2". Сказал, что программисты не могут попасть на хостинг через sftp. Жаль, что меня снова это не насторожило. Специалисты агентства. По разработке и созданию сайтов. Не могут попасть на сервер. P.S. все предоставленные доступы, разумеется, корректны и работоспособны.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

16 августа 2024 г. Пишет "Менеджер-3", собственно, менеджер проекта, который в первый раз связался со мной спустя почти месяц после оплаты счета и начала работ (как я наивно думала). P.S. Программисты продолжают тщетно пытаться попасть на сервер.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Скрещиваем пальцы. Удастся ли программистам "пробить" проклятый sftp? Спойлер: да, они молодцы, справились, зашли через root

Часть вторая. Активно-агрессивная

20 августа 2024 г. Фанфары. Салюты. Разработчики приступили!

Начинаем обсуждать все нюансы. Я предлагаю решение,чтобы ускорить или хотя бы уже приступить к работе.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Не мудрствуя лукаво, разработчики INTEC выбрали мой предложенный вариант.

30 августа 2024 года. Я в ужасе обнаруживаю, что работы ведутся на "боевом" сайте, в рабочее время. Менеджер-3 передает мои пожелания разработчикам, но теперь они не знают, как сделать бекап...

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Дальше становится все инетреснее: нам нужно либо оплатить услуги хостинга, чтобы разработчики сделали свою работу, либо развернуть бекап у себя на хостинге. Видимо, они не в курсе, что в любом уважающем себя агентстве эта услуга входит в стоимость (ее включают априори)... У нас "большой" сайт и им не с руки разворачивать его у себя.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

После предложения расстаться, они все же разворачивают бекап у себя. Ссылаются на недопонимание между отделами, мол, Менеджер-1 не передала наши договоренности о работе на тестовом сервере... А это вообще нужно обсуждать? Доработка же сложная, как ее можно сразу реализовывать на боевом сайте?

10 сентября 2024 года. Получаем первые результаты работы. Разумеется, перед сдачей разработчики ничего не протестировали. Отсюда сразу куча ошибок.

16 сентября 2024 года. Даю полную обратную связь: не все работает, как должно. Помимо мелких ошибок (которых можно было бы избежать тестом перед сдачей этапа работ), обнаружила две критические:

  1. Подменный ключ региона (встроен в шаблон изначально) не склоняется. То есть везде "купить в МосквА".

  2. Доработка не работает на ЧПУ умного фильтра каталога, которые формируют огромную ссылочную массу сайта.

Менеджер-3 невозмутимо сообщает мне, что исправлять это будут за отдельную плату. То есть доработку сделали, а тот факт, что она работает некорректно и не может быть применена, вообще не их проблемы.

25 сентября 2024 года. В игру снова вступает Менеджер-1 с расчетами по исправлению ошибок. Оказывается, это будет стоить столько же, сколько и сама доработка.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Обратите внимание, снова делается акцент на неистраченные часы работы. 9 часов в запасе.

Оценив патовость ситуации, я решила послушать независимое мнение на счет целесообразности затрат на продолжение работ и качество самой доработки, которую уже сделали. Напомню, применять ее в таком виде на сайте нельзя. Результаты оказались неутешительными. Приняла решение не продолжать сотрудничество и разойтись полюбовно: закрыть актом фактически понесенные расходы исполнителя в размере 41 часа и вернуть деньги за 9 часов, которые не были потрачены. О чем и сообщила Менеджеру-1.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

По пунктам объясняю, почему доработка нам не подойдет и почему заканчиваем сотрудничество.

2 октября 2024 года. Со мной связывается Менеджер-2. Их устраивает мой вариант окончания сотрудничества. По ЭДО подписываем акт и я направляю письмо на возврат денежных средств. Думаете, на этом все? Ну нет!

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Менеджер-2 подтвердил количество неизрасходованных часов и возможность произвести возврат.

Сотрудники агентства INTEC виртуозы не только в работе, но и в перемене мнения!

8 октября 2024 года я снова пишу Менеджеру-2 с вопросом, когда будет возврат денег. И тут начинается просто отвал башки!

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Вдруг все оказалось сложно. И вместо соблюдение договоренностей мне предлагают дополнительные услуги и срочно забрать результаты работы. Как вы помните, я сказала, что использовать доработку мы у себя не будем. Даже акт уже подписан, но INTEC соврешенно плевал на такие условности!

Дальше Менеджер-2 пытается убедить меня, что работы выполнены и выполнены хорошо. И упрекает меня в том, что я буду искать других разработчиков.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Теперь Менеджер-2 сомневается в моих словах "правда ли, что в доработке что-то не работает". И хочет потратить 9 неиспользованных часов на исправление ошибок. Напомню, эти работы оценили в 50 часов. Коммуникация между менеджерами отсуствует напрочь. Менеджер-2 не в курсе ситуации.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

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

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Затем снова попытки убедить меня в выполнении работ и их качестве.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

И под конец Менежер-3 "сменил личность", видимо. Но тот, кто его подменил, опять не в курсе, что говорят их специалисты.

Как потерять 2 месяца и 100+К с агентством INTEC Разработка, Веб-разработка, Беседа с разработчиками, Программист, Агентство, Битрикс, Функционал сайта, Сайт, Длиннопост

Вот такая история получилась. К слову, ни акта на полную сумму, ни возврата денег нет пока. Зато есть потраченные 2,5 месяца и 100+ тысяч. Что имеем в итоге:

  1. доработка, сделанная специалистами INTEC, не может быть применена на "боевом" сайте из-за ее некачественного исполнения. К слову, говорят о себе, как о разработчике шаблона "Феникс". Но не разбираются в его функционале.

  2. За исправление ошибок хотят столько же денег, во сколько изначально оценили саму доработку.

  3. Между специалистами отдела нет коммуникации. Непонятно, кто, с кем и о чем договаривался. Ты вынужден постоянно лавировать между менеджерами и дублировать им информацию.

  4. Специалисты позволяют себе хамство и могу спокойно поменять свое мнение, даже после подписания документов.

  5. Специалисты навязывают дополнительные услуги, не оговоренные ранее.

Я НЕ РЕКОМЕНДУЮ работу с агентством INTEC. Возможно, мой опыт сэкономит кому-то время, деньги и нервы. И ЭТО топовые специалисты, какими они себя позиционируют...

Показать полностью 16
Разработка Веб-разработка Беседа с разработчиками Программист Агентство Битрикс Функционал сайта Сайт Длиннопост
1
1
poweb
11 месяцев назад

Как я записался в визовый центр Испании в Москве⁠⁠

Как я записался в визовый центр Испании в Москве Виза, Web-программирование, Веб-разработка

В общем решил я слетать в Испанию, ну и начал разбираться, что мне нужно для этого. Не буду говорить какую гору документов мне нужно было собрать для этой поездки, но это в принципе и не важно. В общем нужно делать Шенген, собрал все документы для оформления визы, ну и начал изучать вопрос, как же попасть в визовый центр.
Там есть живая очередь и электронная, естественно я выбрал электронную, а то стоять в живой очереди я ещё с детства не навижу.

Нашёл я их сайт BLS там какой-то, не помню уже. Оказалось записаться к ним через их сайт это конечно дело не из лёгких. Постоянные блоки IP адреса, постоянно занимающий сайт. И тут мне рассказали что люди делают даже ботов, для того что бы записывать людей за деньги.

Я конечно знатно офигел от этого всего. Ну а так как я все таки программист, решил я сам разобраться с их конторой. В общем сел и за несколько дней сделал себе бота, через которого сам себя и записал. 😅

Показать полностью 1
[моё] Виза Web-программирование Веб-разработка
5
poweb
11 месяцев назад

Как выйти на стабильный доход на фрилансе: шаг за шагом⁠⁠

Как выйти на стабильный доход на фрилансе: шаг за шагом Фрилансер, Фриланс, Веб-разработка, Длиннопост

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

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

Важно понимать, что поиск заказчиков — это четкая последовательность действий. Это навык, который со временем оттачивается. Чем больше вы ищете, тем легче вам становится находить новых клиентов. Без этой базы поиск может превратиться в хаос, который не даст результатов.

2. Навык общения с заказчиками
Следующий важный момент — это навык общения с клиентами. Неумение вести переписку, представить себя и свои услуги, вести переговоры с заказчиком может стать препятствием. Умение общаться иногда оказывается важнее профессиональных навыков. Если вы не можете четко выразить свои мысли, велика вероятность, что клиент выберет другого исполнителя.

На фрилансе все общение происходит онлайн, и у этого есть своя специфика. Мы записали отдельное видео, где подробно разобрали все нюансы общения с клиентами, и дали конкретные рекомендации.

3. Управление временем и дисциплина
Если с первыми двумя пунктами у вас все в порядке, и вы уже получаете заказы, но не можете выйти на стабильный доход, возможно, проблема кроется в управлении временем. Фриланс требует высокого уровня дисциплины, иначе вы можете оказаться в ситуации, когда срок сдачи завтра, а вы еще не начали работать.

Качество работы на фрилансе очень важно. Именно благодаря высокому качеству заказчики возвращаются к вам и начинают рекомендовать вас другим. Успешные фрилансеры не тратят время на постоянный поиск клиентов — заказчики приходят к ним сами, потому что они качественно выполняют свою работу.

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

Что поможет? Планирование задач. Используйте Trello, Asana или Google Календарь, чтобы структурировать задачи и не пропускать дедлайны. Выписывайте все свои задачи и выделяйте время на каждую из них. Это поможет избежать излишнего перфекционизма и не закапываться в одну задачу на целый день.

Также ежедневный поиск заказчиков должен быть включен в ваш список дел. Определите, сколько визиток нужно отправить, на сколько вакансий откликнуться, в какие чаты зайти. Чем конкретнее вы пропишете свои задачи, тем меньше вероятность того, что вы отложите эту задачу на потом.

4. Самооценка и стоимость услуг
Если вы умеете искать клиентов, хорошо с ними общаетесь, но все равно не можете выйти на доход хотя бы 50 тысяч рублей, возможно, проблема в том, что вы обесцениваете себя. Работая за копейки, вы снижаете вероятность стабильности и роста дохода.

Это верный сигнал, что пора повысить стоимость услуг. Страшно? Понимаю. Но если грамотно подойти к этому вопросу, клиенты останутся с вами, и новые не будут задавать лишних вопросов о стоимости.

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

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

Обязательно ставьте лайк, если эта статья была полезной. Подписывайтесь на мой блог, где я делюсь еще большим количеством полезных советов по фрилансу. Увидимся в следующей статье!

Показать полностью 1
[моё] Фрилансер Фриланс Веб-разработка Длиннопост
5
1
Mr.Ducks
Mr.Ducks
11 месяцев назад
Серия PHP и веб-разработка: полезные руководства и совет

Как создать систему регистрации и восстановления пароля на PHP: Пошаговое руководство⁠⁠

1. Файл register.php

Этот файл используется для регистрации новых пользователей.

Как создать систему регистрации и восстановления пароля на PHP: Пошаговое руководство PHP, Восстановление пароля, Безопасность, Веб-разработка, Инструкция, IT, Длиннопост

HTML-разметка

HTML-часть содержит форму для регистрации, куда пользователи вводят свой Email и Пароль.

<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Регистрация</title>

</head>

<body>

<h2>Регистрация</h2>

<form action="register.php" method="POST">

<label for="email">Email:</label>

<input type="email" name="email" required><br>

<label for="password">Пароль:</label>

<input type="password" name="password" required><br>

<button type="submit">Зарегистрироваться</button>

</form>

<p><a href="reset_password.php">Восстановить пароль</a></p>

</body>

</html>

Как создать систему регистрации и восстановления пароля на PHP: Пошаговое руководство PHP, Восстановление пароля, Безопасность, Веб-разработка, Инструкция, IT, Длиннопост

PHP-скрипт

PHP-часть обрабатывает данные формы и регистрирует пользователя.

<?php

$host = 'localhost';

$dbname = 'my_database';

$username_db = 'root';

$password_db = 'root';

try {

$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username_db, $password_db);

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

die("Ошибка подключения к базе данных: " . $e->getMessage());

}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

$email = $_POST['email'];

$password = password_hash($_POST['password'], PASSWORD_BCRYPT);

$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");

$stmt->execute([$email]);

if ($stmt->rowCount() > 0) {

echo "Пользователь с таким email уже зарегистрирован!";

} else {

$stmt = $pdo->prepare("INSERT INTO users (email, password) VALUES (?, ?)");

$stmt->execute([$email, $password]);

echo "Регистрация прошла успешно!";

}

}

?>

  • Подключение к базе данных: Здесь используется PDO для безопасного подключения.

  • Хэширование пароля: password_hash() шифрует пароль для безопасного хранения.

  • Проверка и регистрация: Если email уже существует, выводится сообщение об ошибке; если нет, пользователь успешно добавляется в базу.

2. Файл reset_password.php

Этот файл предоставляет форму для восстановления пароля.

HTML-разметка

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

<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Восстановление пароля</title>

</head>

<body>

<h2>Восстановление пароля</h2>

<form action="" method="POST">

<label for="email">Email:</label>

<input type="email" name="email" required><br>

<button type="submit">Восстановить пароль</button>

</form>

</body>

</html>

Как создать систему регистрации и восстановления пароля на PHP: Пошаговое руководство PHP, Восстановление пароля, Безопасность, Веб-разработка, Инструкция, IT, Длиннопост

PHP-скрипт

Код отправляет email с уникальной ссылкой для сброса пароля.use PHPMailer\PHPMailer\PHPMailer;

use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

ini_set('display_errors', 1);

error_reporting(E_ALL);

$host = 'localhost';

$dbname = 'my_database';

$username_db = 'root';

$password_db = 'root';

try {

$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username_db, $password_db);

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

die("Ошибка подключения к базе данных: " . $e->getMessage());

}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

$email = $_POST['email'];

$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");

$stmt->execute([$email]);

if ($stmt->rowCount() > 0) {

$token = bin2hex(random_bytes(50));

$stmt = $pdo->prepare("UPDATE users SET reset_token = ? WHERE email = ?");

$stmt->execute([$token, $email]);

$mail = new PHPMailer(true);

try {

$mail->isSMTP();

$mail->Host = 'smtp.mail.ru';

$mail->SMTPAuth = true;

$mail->Username = 'ваш_email@mail.ru';

$mail->Password = 'ваш_пароль';

$mail->SMTPSecure = 'tls';

$mail->Port = 587;

$mail->setFrom('ваш_email@mail.ru', 'Ваш сайт');

$mail->addAddress($email);

$mail->isHTML(true);

$mail->Subject = 'Восстановление пароля';

$mail->Body = "Нажмите на ссылку для сброса пароля: <a href='http://localhost/reset.php?token=$token'>Сбросить пароль</a>";

$mail->send();

echo "Инструкции по восстановлению пароля отправлены на вашу почту!";

} catch (Exception $e) {

echo "Ошибка отправки письма: {$mail->ErrorInfo}";

}

} else {

echo "Пользователь с таким email не найден!";

}

}

?>

  • Подключение PHPMailer: PHPMailer настроен для отправки писем по SMTP.

  • Генерация токена: Для безопасности создается случайный токен, который добавляется в базу данных.

  • Отправка письма: Ссылка с токеном направляется пользователю на email, позволяя ему перейти к сбросу пароля.

Примечание: Для использования PHPMailer необходимо установить его через Composer:

composer require phpmailer/phpmailer

3. Файл reset.php

Этот файл позволяет пользователю задать новый пароль, используя токен сброса.

HTML-разметка

Форма для ввода нового пароля, с токеном, переданным в скрытом поле.

<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Сброс пароля</title>

</head>

<body>

<h2>Сброс пароля</h2>

<form action="reset.php" method="POST">

<input type="hidden" name="token" value="<?php echo $_GET['token']; ?>" />

<label for="password">Новый пароль:</label>

<input type="password" name="password" required><br>

<button type="submit">Сбросить пароль</button>

</form>

</body>

</html>

Как создать систему регистрации и восстановления пароля на PHP: Пошаговое руководство PHP, Восстановление пароля, Безопасность, Веб-разработка, Инструкция, IT, Длиннопост

PHP-скрипт

PHP-скрипт проверяет токен и устанавливает новый пароль.

$host = 'localhost';

$dbname = 'my_database';

$username_db = 'root';

$password_db = 'root';

try {

$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username_db, $password_db);

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

die("Ошибка подключения к базе данных: " . $e->getMessage());

}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

$token = $_POST['token'];

$new_password = password_hash($_POST['password'], PASSWORD_BCRYPT);

$stmt = $pdo->prepare("SELECT * FROM users WHERE reset_token = ?");

$stmt->execute([$token]);

if ($stmt->rowCount() > 0) {

$stmt = $pdo->prepare("UPDATE users SET password = ?, reset_token = NULL WHERE reset_token = ?");

$stmt->execute([$new_password, $token]);

echo "Пароль успешно сброшен!";

} else {

echo "Неверный или устаревший токен!";

}

}

  1. Проверка токена: Если токен действителен, то пароль обновляется и токен сбрасывается.

  2. Хэширование нового пароля: Новый пароль хэшируется перед сохранением в базу.

Эти три файла позволяют создать безопасную систему регистрации, восстановления и сброса пароля для пользователей.

Как создать систему регистрации и восстановления пароля на PHP: Пошаговое руководство

Создание системы регистрации и восстановления паролей – важный элемент безопасности любого веб-приложения, где пользователи создают учетные записи. В этой статье рассмотрим, как с помощью PHP, PDO и библиотеки PHPMailer реализовать систему, позволяющую пользователям регистрироваться, восстанавливать доступ и сбрасывать пароли.

Как это работает

Наша система регистрации и восстановления пароля состоит из трёх частей:

  1. Форма регистрации – страница, где пользователи могут зарегистрироваться, введя email и пароль.

  2. Форма восстановления пароля – страница, куда пользователь вводит email для получения инструкции по восстановлению.

  3. Форма сброса пароля – страница, где пользователь может создать новый пароль, перейдя по ссылке с уникальным токеном из письма.

Как реализовать регистрацию и хэширование паролей

Мы используем PHP-функцию password_hash() для безопасного хранения паролей в базе данных. Это важно для защиты данных пользователей на случай взлома базы. К тому же, проверка дубликатов email позволяет избежать повторной регистрации.

Реализация восстановления пароля

С помощью PHPMailer система отправляет email с уникальной ссылкой для сброса пароля. Это исключает возможность использования одного и того же токена, так как он создается случайным образом с помощью функции random_bytes() и сохраняется в базе данных.

Установка PHPMailer

Для работы PHPMailer используйте Composer:

composer require phpmailer/phpmailer

Примечания по безопасности

  1. Хранение паролей: Никогда не храните пароли в открытом виде. Используйте password_hash() для хэширования и password_verify() для проверки пароля при входе.

  2. Безопасное подключение к базе данных: Используйте PDO с параметризированными запросами, чтобы защитить приложение от SQL-инъекций.

  3. Срок действия токена: Рекомендуется добавить срок действия токена для сброса пароля, чтобы повысить безопасность системы.

Эта пошаговая реализация легко адаптируется под любые требования и поможет создать удобную и безопасную систему работы с учетными записями.

Показать полностью 4
PHP Восстановление пароля Безопасность Веб-разработка Инструкция IT Длиннопост
1
3
Mr.Ducks
Mr.Ducks
11 месяцев назад
Серия PHP и веб-разработка: полезные руководства и совет

PHP: Почему этот язык остается актуальным в 2024 году?⁠⁠

PHP — язык, который существует уже более 25 лет. За это время он прошел долгий путь, из простого языка для создания динамических веб-страниц, до мощного инструмента для разработки полноценных веб-приложений. Несмотря на появление новых языков и фреймворков, PHP остается одним из самых популярных языков в мире для веб-разработки. Но что делает PHP таким особенным и почему он продолжает занимать лидирующие позиции на рынке?

1. PHP 8.x: Мощные обновления для современного мира

С выходом PHP 8.x язык стал еще более эффективным и современным. Одним из ключевых обновлений стала поддержка JIT-компиляции (Just-in-Time), что значительно ускоряет выполнение кода, особенно для задач, связанных с вычислениями. Это позволяет PHP конкурировать по скорости с такими языками, как Java и C#.

Что нового в PHP 8.x:

  • JIT-компиляция: Увеличение производительности для сложных вычислений.

  • Named Arguments (Именованные аргументы): Возможность передавать параметры функции по имени, делая код более читабельным.

  • Match expression: Новый синтаксис для замены старых конструкций switch более лаконичным и мощным аналогом.

  • Attributes: Теперь можно добавлять метаданные к функциям и классам, улучшая поддержку фреймворков и библиотек.

  • Union Types: Поддержка объединения типов данных, что делает строгую типизацию в PHP более гибкой и полезной.

PHP: Почему этот язык остается актуальным в 2024 году? PHP, Веб-разработка, Программирование, Laravel, Symfony, Производительность, Кодирование, Разработка, IT, Длиннопост

2. Легкость изучения и использования

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

3. Обширная экосистема и сообщества

PHP имеет одну из самых больших и активных экосистем в мире веб-разработки. Вот некоторые ключевые моменты:

  • Composer: Мощный менеджер зависимостей для PHP. Composer упрощает интеграцию библиотек, фреймворков и пакетов в проекты, обеспечивая их автоматическое обновление.

  • Фреймворки: Laravel, Symfony, CodeIgniter, Yii — это лишь малая часть фреймворков, созданных на PHP. Каждый из них предоставляет мощные инструменты для разработки приложений любого масштаба.

  • CMS на базе PHP: WordPress, Drupal, Joomla — все эти популярные системы управления контентом работают на PHP, что делает его ключевым языком для создания веб-сайтов.

4. Высокая производительность и масштабируемость

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

Кроме того, PHP отлично интегрируется с современными решениями для масштабирования и высоких нагрузок, такими как NGINX, Redis, Memcached и Docker. Это делает его идеальным выбором для крупных проектов с миллионами пользователей.

5. Поддержка и обратная совместимость

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

6. Безопасность

Хотя PHP долгое время подвергался критике за возможные проблемы с безопасностью, в последние годы ситуация значительно улучшилась. Современные версии PHP предоставляют встроенные механизмы для защиты от популярных уязвимостей, таких как SQL-инъекции, XSS-атаки и CSRF. Также благодаря сообществу и наличию большого количества библиотек, реализующих лучшие практики безопасности, разработчики могут легко интегрировать дополнительные уровни защиты в свои проекты.

7. Заключение

PHP продолжает развиваться и адаптироваться к требованиям современного веба. Его производительность, богатая экосистема и простота в использовании делают его идеальным инструментом как для новичков, так и для профессионалов. В 2024 году, с выходом PHP 8.x, этот язык еще раз доказал свою жизнеспособность и готовность к новым вызовам.

Если вы до сих пор не использовали PHP в своих проектах, самое время попробовать! Ведь за этим языком стоит огромная поддержка сообщества и множество успешных примеров использования.

Показать полностью 1
PHP Веб-разработка Программирование Laravel Symfony Производительность Кодирование Разработка IT Длиннопост
1
Mr.Ducks
Mr.Ducks
11 месяцев назад
Серия PHP и веб-разработка: полезные руководства и совет

Laravel vs WordPress: Что Выбрать для Веб-Разработки?⁠⁠

Laravel vs WordPress: Полное Сравнение

При выборе платформы для разработки веб-приложений или сайтов, разработчики часто сталкиваются с дилеммой между фреймворком Laravel и CMS WordPress. Оба инструмента популярны, но они предназначены для разных целей и имеют свои плюсы и минусы. В этой статье мы подробно разберем отличия между Laravel и WordPress, их сильные и слабые стороны, чтобы помочь вам сделать осознанный выбор.

Laravel vs WordPress: Что Выбрать для Веб-Разработки? Laravel, Wordpress, Cms, Framework, Веб-разработка, PHP, Mvc, Блог, Плагин, Тема, Настройка, Безопасность, Производительность, IT, Длиннопост

Что такое WordPress?

WordPress — это система управления контентом (CMS), которая была создана для упрощения создания и управления сайтами. В первую очередь она предназначена для блогов, новостных порталов и контентных веб-ресурсов. Благодаря своей простоте и расширяемости WordPress стал одной из самых популярных платформ для создания сайтов в мире.

Что такое Laravel?

Laravel — это PHP-фреймворк, предназначенный для создания веб-приложений. Это мощный инструмент для разработчиков, которые хотят построить сложные, высокоэффективные веб-приложения с минимальными затратами на рутину разработки. Laravel предоставляет набор инструментов и библиотек для разработки гибких и масштабируемых решений.

Основные Отличия Laravel и WordPress

  1. Назначение

    • WordPress — это готовая система для создания сайтов, в первую очередь контентных. Отлично подходит для блогов, новостных сайтов, небольших интернет-магазинов и порталов с большим количеством контента.

    • Laravel — это фреймворк для разработки веб-приложений с нуля. Laravel больше подходит для создания кастомных веб-приложений, корпоративных сайтов, сложных систем с уникальной логикой и API.

  2. Архитектура

    • WordPress имеет строгую архитектуру и набор предустановленных функций, которые можно расширять с помощью плагинов. Но эта система не предназначена для сложных приложений с уникальной бизнес-логикой.

    • Laravel построен на архитектуре MVC (Model-View-Controller), что делает его более гибким и структурированным для разработки масштабируемых приложений. Это позволяет разделить логику приложения, пользовательский интерфейс и работу с данными.

  3. Настраиваемость

    • WordPress предлагает множество готовых тем и плагинов, которые позволяют быстро настроить сайт. Однако сложные модификации могут быть ограничены рамками CMS.

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

  4. Управление контентом

    • WordPress создан для контентных сайтов и отлично справляется с управлением статьями, страницами, медиафайлами. Встроенные инструменты для SEO и публикации контента позволяют легко управлять сайтом без глубоких знаний программирования.

    • Laravel не имеет встроенной системы управления контентом. Для этого нужно либо разрабатывать собственные решения, либо интегрировать сторонние пакеты.

  5. Безопасность

    • WordPress часто становится целью хакеров из-за своей популярности и большого количества плагинов, которые могут содержать уязвимости. Регулярное обновление плагинов и ядра WordPress — необходимая мера для защиты сайта.

    • Laravel предлагает встроенные инструменты для защиты: CSRF-защита, SQL-инъекции, защита от XSS-атак. Фреймворк автоматически внедряет лучшие практики безопасности, но это требует от разработчика более глубоких знаний.

Плюсы и Минусы WordPress

Плюсы:

  • Простота использования: Не требует глубоких знаний программирования. Даже новички могут создать сайт с помощью тем и плагинов.

  • Большое сообщество: Огромное количество плагинов и тем для расширения функционала.

  • SEO-дружелюбность: Встроенные инструменты для оптимизации сайта под поисковые системы.

  • Быстрое развертывание: Можно быстро запустить сайт без необходимости программирования.

Минусы:

  • Ограниченная гибкость: Подходит не для всех типов проектов. При сложных запросах может потребоваться разработка кастомных плагинов.

  • Проблемы с безопасностью: Из-за популярности CMS часто становится целью атак.

  • Производительность: Без оптимизаций и использования кэширования сайты могут быть медленными, особенно с большим количеством плагинов.

Плюсы и Минусы Laravel

Плюсы:

  • Гибкость: Можно создать любые веб-приложения, от простых до высоконагруженных.

  • Архитектура MVC: Легкость масштабирования и поддержки приложений.

  • Безопасность: Встроенные механизмы защиты от наиболее распространенных веб-угроз.

  • Активное сообщество: Laravel имеет большое и активное сообщество разработчиков, которые поддерживают и улучшают фреймворк.

Минусы:

  • Требует знаний программирования: Для работы с Laravel необходимо иметь опыт разработки.

  • Нет готовой CMS: Для управления контентом нужно либо разрабатывать решения самостоятельно, либо использовать сторонние пакеты.

  • Долгое развертывание: В отличие от WordPress, развертывание приложения на Laravel требует больше времени и усилий.

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

Если ваша цель — быстро создать контентный сайт, блог, портфолио или небольшой интернет-магазин, то WordPress будет отличным выбором. Его простота и огромное количество готовых решений позволят вам начать работу в кратчайшие сроки.

Однако, если вы разрабатываете сложное веб-приложение, интернет-платформу с уникальной логикой или API, то Laravel — это идеальный инструмент. Он предоставляет все необходимые инструменты для гибкой и безопасной разработки с нуля.

Заключение

И Laravel, и WordPress — мощные инструменты, каждый из которых предназначен для своих задач. WordPress проще в освоении и удобен для контентных сайтов, в то время как Laravel — это выбор для разработчиков, которым требуется гибкость и масштабируемость. Выбор зависит от ваших целей, навыков и требований к проекту.

Показать полностью 1
Laravel Wordpress Cms Framework Веб-разработка PHP Mvc Блог Плагин Тема Настройка Безопасность Производительность IT Длиннопост
3
NeuroUniver
NeuroUniver
11 месяцев назад

Почему у инфобизнесменов не получается масштабировать свои курсы?⁠⁠

Привет всем!
Недавно задумался над вопросом, почему так много хороших курсов и тренингов проваливаются в продаже или не получают нужного масштаба.
Я работаю в этой сфере (создание сайтов, воронок продаж), и часто сталкиваюсь с тем, что люди создают классный продукт, но не могут правильно его упаковать и донести до аудитории.

Решил поделиться своими наблюдениями:
1. Отсутствие четкой структуры сайта.
Много инфопродуктов размещают на «быстро-сделанных» сайтах, где не продумана навигация и оформление.
В результате потенциальный покупатель просто уходит.
Стоит задуматься о том, чтобы хотя бы минимально улучшить дизайн и структуру лендинга.

2. Непродуманные воронки продаж.
Вот где часто провал.
Люди не всегда понимают, как работает автоматизация.
Бывает, что вся коммуникация с потенциальными клиентами сводится к одному письму с предложением купить.
А ведь воронки могут быть намного глубже, с различными этапами взаимодействия, предложениями «пробного доступа» или даже интересным контентом, который вызывает доверие.

3. Проблемы с технической реализацией.
Бывают моменты, когда сайт или система оплаты работают с перебоями, что автоматически отпугивает клиентов.
Кто-то решает сразу, что если даже сайт не работает, то и курс не будет стоящим.

4. Отсутствие анализа аудитории.
Это вообще классика жанра.
Многие даже не пытаются изучить, кто их целевая аудитория.
В результате курсы не привлекают внимание, потому что ориентированы не на тех людей.

Эти вещи кажутся очевидными, но на практике многие забывают об их важности.

Напишите, сталкивались ли вы с чем-то подобным?
Если кто-то здесь занимается созданием курсов или задумывается об этом, буду рад поделиться опытом и обсудить, как можно это исправить (мой контакт в телеграмм Evgeny_tex)
Вдруг что-то упустил.
Ну и конечно, если у вас есть успешные кейсы, делитесь, это всегда полезно - реальный опыт!

Показать полностью
[моё] Инфобизнес Инфоцыгане Создание сайта Воронка продаж SMM Продвижение Клиенты Веб-разработка Текст
3
Mr.Ducks
Mr.Ducks
11 месяцев назад
Серия PHP и веб-разработка: полезные руководства и совет

Генераторы в PHP: Интерактивное создание последовательностей чисел⁠⁠

В этой статье мы разберем интересную возможность PHP — использование генераторов. Эта концепция не так широко известна среди PHP-разработчиков, как, например, в Python. Но, зная, как правильно использовать генераторы, можно значительно оптимизировать работу с большими наборами данных, сделать код более читаемым и экономить ресурсы сервера. Мы рассмотрим это на практическом примере, где создадим генератор чисел и интегрируем его с HTML-формой, чтобы пользователь мог взаимодействовать с программой прямо через браузер.

Генераторы в PHP: Интерактивное создание последовательностей чисел PHP, Генераторы, Веб-разработка, Обработка данных, IT, Длиннопост

Что такое генераторы?

Генераторы в PHP — это специальный вид функций, которые возвращают значения по мере их необходимости, используя ключевое слово yield. Это означает, что вместо того, чтобы возвращать все данные сразу (как делает обычная функция), генератор возвращает значения "лениво" — по одному за раз, когда это необходимо. Это позволяет эффективно работать с большими объемами данных, не загружая их все в память сразу.

Преимущества генераторов

  • Экономия памяти: Генератор не хранит все значения в памяти, а вычисляет и возвращает их по мере необходимости.

  • Читаемый и компактный код: Использование генераторов упрощает логику работы с итераторами и делает код проще.

  • Легкость работы с большими данными: Генераторы подходят для обработки больших объемов данных без перегрузки памяти сервера.

Пример генератора

Давайте начнем с простого примера функции-генератора, которая генерирует последовательность чисел:

<?php

// Функция-генератор чисел от 0 до указанного предела

function numberGenerator($limit) {

for ($i = 0; $i < $limit; $i++) {

yield $i;

}

}

// Использование генератора

$generator = numberGenerator(5);

foreach ($generator as $number) {

echo $number . "\n"; // выводит 0, 1, 2, 3, 4

}

?>

В этой функции используется цикл for, который генерирует числа от 0 до указанного предела, используя ключевое слово yield. Каждый раз, когда вызывается метод next() итератора (неявно через foreach), генератор возвращает следующее значение, а затем приостанавливается до следующего вызова.

Пример с HTML-формой

Теперь давайте сделаем этот пример интерактивным, добавив HTML-форму, где пользователь может вводить число, а генератор будет строить последовательность до этого числа. Мы также научимся передавать данные формы в PHP через метод POST и работать с этими данными.

Полный HTML + PHP пример

Вот код, который объединяет PHP-генератор с HTML-формой для интерактивного ввода чисел:

<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Интерактивный генератор чисел на PHP</title>

</head>

<body>

<h1>Генератор чисел на PHP</h1>

<!-- Форма для ввода предела генерации чисел -->

<form method="post" action="">

<label for="limit">Введите предел чисел:</label>

<input type="number" id="limit" name="limit" required min="1">

<button type="submit">Сгенерировать</button>

</form>

<ul>

<?php

// Проверяем, была ли отправлена форма и введено ли число

if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['limit'])) {

$limit = intval($_POST['limit']); // получаем введённое значение и преобразуем в целое число

// Функция-генератор

function numberGenerator($limit) {

for ($i = 0; $i < $limit; $i++) {

yield $i;

}

}

// Используем генератор для вывода чисел

$generator = numberGenerator($limit);

foreach ($generator as $number) {

echo "<li>Число: $number</li>";

}

}

?>

</ul>

</body>

</html>

Подробное объяснение кода

1. HTML-форма

Форма включает одно текстовое поле для ввода числа и кнопку для отправки формы:

<form method="post" action="">

<label for="limit">Введите предел чисел:</label>

<input type="number" id="limit" name="limit" required min="1">

<button type="submit">Сгенерировать</button>

</form>

  • Поле ввода input type="number" принимает только числовые значения. Мы также добавили атрибут required, чтобы пользователю было необходимо ввести число перед отправкой формы.

  • После нажатия кнопки "Сгенерировать", форма отправляется на сервер с методом POST. Важно заметить, что атрибут action пуст — это значит, что форма будет отправлена на ту же страницу.

2. Получение и обработка данных из формы

Когда форма отправляется, PHP получает данные через глобальный массив $_POST. В нашем примере мы проверяем, был ли отправлен запрос методом POST и существует ли в массиве $_POST значение limit:

if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['limit'])) {

$limit = intval($_POST['limit']); // Преобразуем введенное значение в целое число

intval() используется для приведения введенного значения к целому числу, чтобы гарантировать, что оно корректно.

3. Генератор

После получения введенного значения (предела) мы вызываем функцию-генератор, которая генерирует числа от 0 до предела, указанного пользователем:

function numberGenerator($limit) {

for ($i = 0; $i < $limit; $i++) {

yield $i;

}

}

Генератор позволяет нам постепенно возвращать числа без необходимости хранить их все в памяти.

4. Вывод чисел на страницу

Мы используем цикл foreach, чтобы итерировать через числа, сгенерированные функцией numberGenerator(), и выводим каждое число в виде элемента списка HTML:

$generator = numberGenerator($limit);

foreach ($generator as $number) {

echo "<li>Число: $number</li>";

}

Как это работает?

  1. Пользователь открывает страницу и видит форму для ввода числа.

  2. Пользователь вводит число, например, "10", и нажимает кнопку "Сгенерировать".

  3. PHP получает это число через POST-запрос, запускает генератор, который генерирует последовательность от 0 до 9, и выводит результаты в виде списка на той же странице.

Заключение

Использование генераторов в PHP — это мощный способ работать с большими данными и итерациями, особенно когда нам не нужно сразу загружать все значения в память. В данной статье мы рассмотрели простой, но показательный пример использования генераторов в реальном проекте: генератор чисел с динамическим взаимодействием через HTML-форму. Такой подход позволяет комбинировать возможности PHP и HTML для создания интерактивных и производительных веб-приложений.

Генераторы в PHP — это несложный, но малоизвестный инструмент, который может значительно облегчить жизнь разработчикам при работе с большими объемами данных. Теперь у тебя есть как теоретическое понимание генераторов, так и готовый пример, который можно использовать в проектах!

Показать полностью 1
PHP Генераторы Веб-разработка Обработка данных IT Длиннопост
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии