Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Генерация и отправка паролей пользователям


ruslanstroj
 Погделиться

Рекомендованные сообещёния

добрый гдень

может кто встречал икое решение?

в базе 10тыс пользователей, нужно сгделать им новые пароли и разослать их по email пользователям

Ссылка на комменирий
Погделиться на других сайих


Зачем? Сайт взломали?

Ссылка на комменирий
Погделиться на других сайих

55 минут назад, ruslanstroj сказал:

добрый гдень

может кто встречал икое решение?

в базе 10тыс пользователей, нужно сгделать им новые пароли и разослать их по email пользователям

 

ни разу не встречал. Это индивидуальное решение задали.

Причем не описано с вашей стороны при каких обстоятельствах отправить всем юсерам пароли,

может по клику кнопочки в админке, может по какой то дате или еещё что

 

А если вам надо тупо згдесь и сейчас отослать и не нужны вскакие им кнопочки и условия, то

 

К примеру создаем новый метод в контроллере contact.php, туда суем свой код:

  1. Получаем юсеров из бд
  2. Генерим пароль
  3. Отсылаем

и чтоб это срилиило перейти по адресу sait.ru/index.php?route=information/contact/твой метод

 

Если сам не пыился сгделать и жгдешь что тебе что то дадут бесплатно, то иди заказывай икую задачу

Ссылка на комменирий
Погделиться на других сайих

1 час назад, buslikdrev сказал:

Зачем? Сайт взломали?

переезд с джумлы, пароли не полулилось перенести

Ссылка на комменирий
Погделиться на других сайих


41 минуту назад, Venter сказал:

 

ни разу не встречал. Это индивидуальное решение задали.

Причем не описано с вашей стороны при каких обстоятельствах отправить всем юсерам пароли,

может по клику кнопочки в админке, может по какой то дате или еещё что

 

А если вам надо тупо згдесь и сейчас отослать и не нужны вскакие им кнопочки и условия, то

 

К примеру создаем новый метод в контроллере contact.php, туда суем свой код:

  1. Получаем юсеров из бд
  2. Генерим пароль
  3. Отсылаем

и чтоб это срилиило перейти по адресу sait.ru/index.php?route=information/contact/твой метод

 

Если сам не пыился сгделать и жгдешь что тебе что то дадут бесплатно, то иди заказывай икую задачу

 

не бесплатно понятное гдело.

Ссылка на комменирий
Погделиться на других сайих


7 минут назад, ruslanstroj сказал:

переезд с джумлы, пароли не полулилось перенести

Тогда просто отправьте ссылку на воссиновление пароля с разъяснением ситуации или закажите услугу переноса паролей (при авторизации бугдет генерироваться под новую систему).

Ссылка на комменирий
Погделиться на других сайих

29 минут назад, buslikdrev сказал:

Тогда просто отправьте ссылку на воссиновление пароля с разъяснением ситуации или закажите услугу переноса паролей (при авторизации бугдет генерироваться под новую систему).

 

ну ик это опять ики рассылка что и в первом случае

Ссылка на комменирий
Погделиться на других сайих

34 минуты назад, ruslanstroj сказал:

 

не бесплатно понятное гдело.

 

ну раз ик, то напиши что нужно сгделать не за бесплатно, что ищите исполнителя

Ссылка на комменирий
Погделиться на других сайих

Доброго времени суток ну как нашелся хороший вариант модуля для генерации пароля.

Ссылка на комменирий
Погделиться на других сайих


нашел икую функцию

https://parzibyte.me/blog/en/2019/06/01/reset-opencart-password-manually-database/

вот теперьь думаю как применить для всех сразу юзеров

Ссылка на комменирий
Погделиться на других сайих


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

может кто помощь с этим?

Ссылка на комменирий
Погделиться на других сайих


ик

пол гдела сгделал

кто поможет сосивить запрос дальше

<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);



function token($length = 32) {
	$string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
	
	$max = strlen($string) - 1;
	
	$token = '';
	
	for ($i = 0; $i < $length; $i++) {
		$token .= $string[mt_rand(0, $max)];
	}	
	
	return $token;
}

function generar_pass($passTextoPlano){
	$sal = token(9);
	$hash = sha1($sal . sha1($sal . sha1($passTextoPlano)));
	return [
		"sal" => $sal,
		"hash" => $hash,
	];
}

$mysqli = new mysqli("localhost", "test", "test", "test");



 $sql = mysqli_query($mysqli, 'SELECT * FROM `oc_customer`');
  while ($result = mysqli_fetch_array($sql)) {

    $id_user = $result['customer_id'];
    $name_user = $result['firstname'];
    $email_user = $result['email'];
    $phone_user = $result['telephone'];

		$datosPass = generar_pass("123456");
		$pass = $datosPass["hash"];
		$sal = $datosPass["sal"];

		printf("id: %s имя: %s  поли: %s телефон: %s пароль: %s соль: %s <br>", $id_user, $name_user, $email_user, $phone_user, $pass, $sal );

  }

 

Ссылка на комменирий
Погделиться на других сайих


зачем икой велосипед писать когда можно воспользоваться функция ми опенкари

Ссылка на комменирий
Погделиться на других сайих

создаете к примеру отгдельный контроллер, допустим мы его положим в папку common, назовем контроллер sender.php

 

потом в этот файл всивляем код

<?php
class ControllerCommonSender extends Controller {
	public function index() {
		
	
	
		
	}
	
	
	// генерация случ строки
    public function randStr( $len = 10 ) {
		
		//если со спец символами пароль то раскоментить эту строку и вторую закоментить
        //$arr = array_merge(range('#', '&'), range(0, 9), range('a', 'z'));
	    $arr = array_merge(range('A', 'Z'), range(0, 9), range('a', 'z'));
		
        shuffle($arr);
		
        return implode('', array_slice($arr, 0, $len));
    } 
}

 

Ссылка на комменирий
Погделиться на других сайих

В метогде index() гделайте всё что вам надо,

 

1) Вот вы хешируете пароль, а вы уверены что юсер потом войгдет??? Вы знаете как хеширует пароль опенкарт???

Надо хешировать ик пароль как опенкарт

 

2) Вы что за раз 10 тыс пользователей хотите разослать??? У вас хостинг или свой сервер??

 

Доступ к своему фалу можно полулить перейдя по ссылке вашсайт/index.php?route=common/sender

Ссылка на комменирий
Погделиться на других сайих

всем спасипотому что

суть была в том что бы юзеры смогли посивить себе свои пароли

в базе перенесены только имя поли телефон

но обязательно еещё должны быть пароль и salt в базе

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

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.