mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
change name validation to blacklisting <> and &
This commit is contained in:
parent
860e1a2391
commit
098c66509f
@ -37,6 +37,8 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
if(!session) {
|
||||
session = sm->getNewSession();
|
||||
auto user_host = request.clientAddress().host();
|
||||
auto client_ip = request.clientAddress();
|
||||
printf("client ip: %s\n", client_ip.toString().data());
|
||||
session->setClientIp(user_host);
|
||||
response.addCookie(session->getLoginCookie());
|
||||
}
|
||||
|
||||
@ -80,7 +80,9 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
|
||||
return handleCheckEmail(s, uri, request);
|
||||
}
|
||||
}
|
||||
|
||||
if (url_first_part == "/register") {
|
||||
return new RegisterPage;
|
||||
}
|
||||
if (s) {
|
||||
auto user = s->getUser();
|
||||
if (s->errorCount() || (!user.isNull() && user->errorCount())) {
|
||||
@ -115,6 +117,7 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
|
||||
//printf("[PageRequestHandlerFactory] go to dashboard page with user\n");
|
||||
return new DashboardPage(s);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (url_first_part == "/config") {
|
||||
@ -123,9 +126,6 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
|
||||
else if (url_first_part == "/login") {
|
||||
return new LoginPage;
|
||||
}
|
||||
else if (url_first_part == "/register") {
|
||||
return new RegisterPage;
|
||||
}
|
||||
}
|
||||
return new LoginPage;
|
||||
//return new HandleFileRequest;
|
||||
|
||||
@ -34,7 +34,7 @@ bool SessionManager::init()
|
||||
for (i = 0; i < VALIDATE_MAX; i++) {
|
||||
switch (i) {
|
||||
//case VALIDATE_NAME: mValidations[i] = new Poco::RegularExpression("/^[a-zA-Z_ -]{3,}$/"); break;
|
||||
case VALIDATE_NAME: mValidations[i] = new Poco::RegularExpression("^[a-zA-Z]{3,}$"); break;
|
||||
case VALIDATE_NAME: mValidations[i] = new Poco::RegularExpression("^[^<>&;]{3,}$"); break;
|
||||
case VALIDATE_EMAIL: mValidations[i] = new Poco::RegularExpression("^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$"); break;
|
||||
case VALIDATE_PASSWORD: mValidations[i] = new Poco::RegularExpression("^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@$!%*?&+-])[A-Za-z0-9@$!%*?&+-]{8,}$"); break;
|
||||
case VALIDATE_PASSPHRASE: mValidations[i] = new Poco::RegularExpression("^(?:[a-z]* ){23}[a-z]*\s*$"); break;
|
||||
|
||||
@ -124,11 +124,11 @@ bool Session::createUser(const std::string& first_name, const std::string& last_
|
||||
Profiler usedTime;
|
||||
auto sm = SessionManager::getInstance();
|
||||
if (!sm->isValid(first_name, VALIDATE_NAME)) {
|
||||
addError(new Error("Vorname", "Bitte gebe einen Namen an. Mindestens 3 Zeichen, keine Sonderzeichen oder Zahlen."));
|
||||
addError(new Error("Vorname", "Bitte gebe einen Namen an. Mindestens 3 Zeichen, keines folgender Zeichen <>&;"));
|
||||
return false;
|
||||
}
|
||||
if (!sm->isValid(last_name, VALIDATE_NAME)) {
|
||||
addError(new Error("Nachname", "Bitte gebe einen Namen an. Mindestens 3 Zeichen, keine Sonderzeichen oder Zahlen."));
|
||||
addError(new Error("Nachname", "Bitte gebe einen Namen an. Mindestens 3 Zeichen, keines folgender Zeichen <>&;"));
|
||||
return false;
|
||||
}
|
||||
if (!sm->isValid(email, VALIDATE_EMAIL)) {
|
||||
|
||||
@ -23,6 +23,8 @@
|
||||
auto session = sm->getSession(request);
|
||||
if(!session) {
|
||||
session = sm->getNewSession();
|
||||
auto client_ip = request.clientAddress();
|
||||
printf("client ip: %s\n", client_ip.toString());
|
||||
auto user_host = request.clientAddress().host();
|
||||
session->setClientIp(user_host);
|
||||
response.addCookie(session->getLoginCookie());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user