Вопрос Авторизация c++

Начинающий
Статус
Оффлайн
Регистрация
10 Фев 2019
Сообщения
111
Реакции[?]
3
Поинты[?]
0
Добрый день. Хотел сделать авторизацию по ключу
1 включаю программу
2 ввожу ключ (он лежит например на сайте в файле .txt )
3 код верный, меня пропускает дальше.
4 не верный выкидывает с приложения.

Гуглил понятной для меня информации не нашел ((
 
Участник
Статус
Оффлайн
Регистрация
6 Сен 2020
Сообщения
749
Реакции[?]
364
Поинты[?]
8K
C++:
#include <Windows.h>
#include <string>
#include <iostream>
#include <Wininet.h>
#include <string>
#pragma comment(lib, "wininet.lib")
using namespace std;

string replaceAll(string subject, const string& search,
    const string& replace) {
    size_t pos = 0;
    while ((pos = subject.find(search, pos)) != string::npos) {
        subject.replace(pos, search.length(), replace);
        pos += replace.length();
    }
    return subject;
}

string DownloadString(string URL) {
    HINTERNET interwebs = InternetOpenA("Mozilla/5.0", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL);
    HINTERNET urlFile;
    string rtn;
    if (interwebs) {
        urlFile = InternetOpenUrlA(interwebs, URL.c_str(), NULL, NULL, NULL, NULL);
        if (urlFile) {
            char buffer[2000];
            DWORD bytesRead;
            do {
                InternetReadFile(urlFile, buffer, 2000, &bytesRead);
                rtn.append(buffer, bytesRead);
                memset(buffer, 0, 2000);
            } while (bytesRead);
            InternetCloseHandle(interwebs);
            InternetCloseHandle(urlFile);
            string p = replaceAll(rtn, "|n", "\r\n");
            return p;
        }
    }
    InternetCloseHandle(interwebs);
    string p = replaceAll(rtn, "|n", "\r\n");
    return p;
}

int main()
{
    string userInput;

    std::cout << "Enter key: ";
    std::cin >> userInput;
    if (userInput == DownloadString("ссылка")) {
        std::cout << "\ncorrect";
        return;
    }
    else {
        std::cout << "\nincorrect";
        return;
    }
}
downloadstring фукнцию взял с юц можешь заменить на любую другую
 
Начинающий
Статус
Оффлайн
Регистрация
9 Дек 2017
Сообщения
79
Реакции[?]
15
Поинты[?]
0
C++:
#include <Windows.h>
#include <string>
#include <iostream>
#include <Wininet.h>
#include <string>
#pragma comment(lib, "wininet.lib")
using namespace std;

string replaceAll(string subject, const string& search,
    const string& replace) {
    size_t pos = 0;
    while ((pos = subject.find(search, pos)) != string::npos) {
        subject.replace(pos, search.length(), replace);
        pos += replace.length();
    }
    return subject;
}

string DownloadString(string URL) {
    HINTERNET interwebs = InternetOpenA("Mozilla/5.0", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL);
    HINTERNET urlFile;
    string rtn;
    if (interwebs) {
        urlFile = InternetOpenUrlA(interwebs, URL.c_str(), NULL, NULL, NULL, NULL);
        if (urlFile) {
            char buffer[2000];
            DWORD bytesRead;
            do {
                InternetReadFile(urlFile, buffer, 2000, &bytesRead);
                rtn.append(buffer, bytesRead);
                memset(buffer, 0, 2000);
            } while (bytesRead);
            InternetCloseHandle(interwebs);
            InternetCloseHandle(urlFile);
            string p = replaceAll(rtn, "|n", "\r\n");
            return p;
        }
    }
    InternetCloseHandle(interwebs);
    string p = replaceAll(rtn, "|n", "\r\n");
    return p;
}

int main()
{
    string userInput;

    std::cout << "Enter key: ";
    std::cin >> userInput;
    if (userInput == DownloadString("ссылка")) {
        std::cout << "\ncorrect";
        return;
    }
    else {
        std::cout << "\nincorrect";
        return;
    }
}
downloadstring фукнцию взял с юц можешь заменить на любую другую
Это ведь глупо, делать проверку на валидность данных на стороне клиента.
 
Участник
Статус
Оффлайн
Регистрация
6 Сен 2020
Сообщения
749
Реакции[?]
364
Поинты[?]
8K
Это ведь глупо, делать проверку на валидность данных на стороне клиента.
А как ещё? Тебе в любом случае прийдёться отдавать значение какое нибудь что-бы проверить правильный ключ или нет.
Также, автор темы не просил делать проверку ключа на сайте, он попросил выдавать ключи в текстовом файле на сайте и потом проверять их в приложении
 
Забаненный
Статус
Оффлайн
Регистрация
22 Июн 2020
Сообщения
97
Реакции[?]
38
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А как ещё? Тебе в любом случае прийдёться отдавать значение какое нибудь что-бы проверить правильный ключ или нет.
Также, автор темы не просил делать проверку ключа на сайте, он попросил выдавать ключи в текстовом файле на сайте и потом проверять их в приложении
Делать такие проверки на клиенте может додуматься либо совсем не шарящий человек, либо человек объебанный метаквалоном.
 
Начинающий
Статус
Оффлайн
Регистрация
9 Дек 2017
Сообщения
79
Реакции[?]
15
Поинты[?]
0
А как ещё? Тебе в любом случае прийдёться отдавать значение какое нибудь что-бы проверить правильный ключ или нет.
Также, автор темы не просил делать проверку ключа на сайте, он попросил выдавать ключи в текстовом файле на сайте и потом проверять их в приложении
Вперёд изучать что такое сервер авторзиации :CoolStoryBob:

Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Участник
Статус
Оффлайн
Регистрация
6 Сен 2020
Сообщения
749
Реакции[?]
364
Поинты[?]
8K
Пользователь
Статус
Оффлайн
Регистрация
16 Дек 2018
Сообщения
221
Реакции[?]
34
Поинты[?]
1K
Всё что там написано, я уже знал.
А так я ответил по теме, как просил автор темы
Его на правильное направление наталкивают. В любом случае проверка таких сенсивити данных на клиенте - бред сумашедшего.
 
Сверху Снизу