Commit 2d49bf1f authored by nono's avatar nono
Browse files

Merge branch 'thomas/don-119-fix-various-vulnerabilities' into preprod

parents 114b9aa2 f73bdcb7
This diff is collapsed.
......@@ -6,9 +6,9 @@ include app/env
export $(shell sed 's/=.*//' app/env)
endif
MYSQL_CONNECTION_STRING = -h$(SQL_HOST) -u$(SQL_USER)
MYSQL_CONNECTION_STRING = --host=$(SQL_HOST) --user=$(SQL_USER)
ifdef SQL_PASSWORD
MYSQL_CONNECTION_STRING += -p$(SQL_PASSWORD)
MYSQL_CONNECTION_STRING += --password=$(SQL_PASSWORD)
endif
help:
......
......@@ -46,7 +46,7 @@ class Perso extends Controller
$db = $f3->get('DB');
$user = $f3->get('container')['user_finder']->findById($f3->get('SESSION.id'));
$f3->set('infos', $user);
$result = $db->query("SELECT id, pdf, decimale FROM dons WHERE user_id='".$user['id']."' and pdf!='' ");
$result = $db->query("SELECT id, pdf, decimale FROM dons WHERE user_id='".\Utils::asl($user['id'])."' and pdf!='' ");
$pdfs = array();
foreach ($result->fetchAll(\PDO::FETCH_ASSOC) as $row) {
$pdfs[$row['pdf']] = $row;
......@@ -220,7 +220,7 @@ class Perso extends Controller
$hash = hash('sha256', $f3->get('password'));
// On recherche le montant cumulé jusqu'à présent. On fait la somme depuis le
// premier janvier 2013 en se basant sur l'adresse mail
$res = $db->query("SELECT sum(dons.somme) as somme FROM dons INNER JOIN users WHERE dons.user_id = users.id AND users.email='".$f3->get('email')."' and dons.status in (1, 4, 102) and dons.datec>'2013-01-01';");
$res = $db->query("SELECT sum(dons.somme) as somme FROM dons INNER JOIN users WHERE dons.user_id = users.id AND users.email='".\Utils::asl($f3->get('email'))."' and dons.status in (1, 4, 102) and dons.datec>'2013-01-01';");
$total = $res->fetch(\PDO::FETCH_ASSOC);
$total = (int) $total['somme'];
// Création de l'utilisateur
......@@ -250,7 +250,7 @@ class Perso extends Controller
$hash = hash('sha256', $f3->get('password'));
$sql .= ", hash='".$hash."'";
}
$sql .= " WHERE id='".$f3->get('SESSION.id')."'";
$sql .= " WHERE id='".\Utils::asl($f3->get('SESSION.id'))."'";
$db->query($sql);
}
} else {
......@@ -390,7 +390,7 @@ class Perso extends Controller
$db = $f3->get('DB');
$id = $params['id'];
$command = "pdftk ";
$args = " ../www/receipt.pdf fill_form ../tmp/".$id.".xfdf output ../tmp/".$id.".pdf flatten dont_ask";
$args = " ../www/receipt.pdf fill_form ../tmp/".escapeshellarg($id).".xfdf output ../tmp/".escapeshellarg($id).".pdf flatten dont_ask";
$logger->write($command . " " .$args);
// Vérification que le don appartient bien à l'utilisateur connecté
......@@ -405,7 +405,7 @@ class Perso extends Controller
FROM dons
INNER JOIN users ON users.id = dons.user_id
LEFT OUTER JOIN adresses ON adresses.user_id = users.id
WHERE users.id=".$f3->get('SESSION.id')." AND dons.id=".\Utils::asl($id).";";
WHERE users.id='".\Utils::asl($f3->get('SESSION.id'))."' AND dons.id='".\Utils::asl($id)."';";
$result = $db->query($query);
$logger->write($query);
$don = $result->fetch(\PDO::FETCH_ASSOC);
......@@ -490,8 +490,11 @@ class Perso extends Controller
public function cancel($f3, $params)
{
if (!$f3->exists('SESSION.user')) {
$f3->reroute('/login');
}
$db = $f3->get('DB');
$result = $db->query("SELECT identifier, user_id from identifiers where identifier like '".$params['id']."'");
$result = $db->query("SELECT identifier, user_id from identifiers where identifier like '".\Utils::asl($params['id'])."' and user_id='".\Utils::asl($f3->get('SESSION.id'))."'");
$result = $result->fetch(\PDO::FETCH_ASSOC);
if ($result) {
$identifier = $result['identifier'];
......@@ -523,8 +526,8 @@ class Perso extends Controller
status = '103',
datec = NOW(),
somme = 0,
user_id = '".$user_id."',
identifier = '".$identifier."',
user_id = '".\Utils::asl($user_id)."',
identifier = '".\Utils::asl($identifier)."',
cumul = 0;");
$f3->push('SESSION.message', _("Don récurrent supprimé."));
$f3->reroute('/perso');
......
......@@ -17,7 +17,7 @@
<input type="radio" name="monthly" value="0">Ponctuel </br>
<input type="submit" value="Submit"><br>
</form>
<p>En nous faisons un don, nous vous informons que nous devrons traiter <a href="{{ @ALIASES.faq }}/#traitement-data">des données personnelles.</a></p>
<p>Erreur: </p>
<section id="gift_holder">
<!-- Différents affichages possibles -->
......
......@@ -262,8 +262,34 @@
</div>
<div class="collapsed ">
<div class="panel-body white-pure">
<p>{{ _("La Quadrature du Net est financée à 70 % par des dons individuels : vos dons ! Nous acceptons aussi les dons d'entreprise, mais tous les dons supérieurs à 1 000 € sont soumis à l'approbation des membres de l'association (voir plus haut).
Les 30 % restants de notre budget correspondent à deux subventions accordées par l’Open Society Foundations (https://www.opensocietyfoundations.org/ et par la Fondation pour le Progrès de l'Homme (http://www.fph.ch/).") }}</p>
<p>{{ _("La Quadrature du Net est financée à 79 % par des dons individuels : vos dons ! Nous acceptons aussi les dons d'entreprise, mais tous les dons supérieurs à 1 000 € sont soumis à l'approbation des membres de l'association (voir plus haut). Le reste de notre budget correspond essentiellement aux soutiens accordés par trois fondations : la Fondation pour le Progrès de l'Homme (http://www.fph.ch/) , le Digital Freedom Fund (https://digitalfreedomfund.org/) et, jusque fin 2021, par l’Open Society Foundations (https://www.opensocietyfoundations.org/).") }}</p>
</div>
</div>
</div>
<div class="panel panel-default blue collapsible collapsible-white-pure">
<input id="traitement-data" type="checkbox">
<div class="panel-heading">
<h4>
<label for="traitement-data">
{{ _("Comment sont traitées mes données ?") }}
<span class="panel-caret pull-right"></span>
</label>
</h4>
</div>
<div class="collapsed ">
<div class="panel-body white-pure">
<p>{{ _("Afin de traiter vos dons, nous, La Quadrature Du Net, collectons des informations personnelles. Dans le cadre du Règlement Général de Protection des Données et de la Loi Informatique et Libertés, vous disposez d'un droit d'information, de rectification, de limitation et de suppression de vos données.") }}
{{ _("Nous collectons les données suivantes ;") }}
<ul>
<li>{{ _("Un email, un pseudo, le cumul de vos dons, un numéro de CB anonymisé ( 4 chiffres). Si vous demandez une contrepartie, nous récoltons également une adresse postale, ainsi que des informations sur la taille des vêtements si vous la fournissez. Ces données sont conservées le temps de l'existence de votre compte. Vous pouvez consulter ces informations depuis <a href='https://don.laquadrature.net/login'>votre compte.</a>") }}</li>
<li>{{ _("Afin de traiter vos dons, notre responsable financier peut avoir accès à ces informations. Afin de gérer les soucis techniques, notre responsable technique peut avoir accès à ces informations.") }}</li>
<li>{{ _("Notre banque va également, dans le cadre du traitement des dons, être mise au courant du montant des dons, et de vos informations bancaires tel que fournis sur leur site. Pour en savoir plus sur la gestion des données par notre banque, vous pouvez consulter leur <a rel='nofollow noreferrer' href='https://www.bred.fr/notice-legale'>notice légale.</a>") }}</li>
</ul>
{{ _("Lors de la suppression de votre compte, nous supprimons toutes les données liées. Vous pouvez également demander à ce que vos informations vous soit transmises, rectifiées ou supprimées sur simple demande auprès de notre <a rel="nofollow noreferrer" href='mailto:contact@laquadrature.net'>adresse de contact.</a> Vous pouvez également vous renseigner sur vos droits auprès de la <a rel='nofollow noreferrer' href='https://www.cnil.fr/fr/les-droits-pour-maitriser-vos-donnees-personnelles'>Commission Nationale Informatique et Liberté (CNIL).</a>") }}
") }}</p>
</div>
</div>
</div>
......
......@@ -754,7 +754,7 @@ msgstr ""
#: app/view/campaign/faq.html:236
msgid ""
"Le CA se rserve le droit de refuser tout don d'entreprise dpassant 1 000 "
"Le CA se reserve le droit de refuser tout don d'entreprise dpassant 1 000 "
"euros s'il considre que son acceptation est susceptible de nuire l'objet "
"social de l'Association ou son indpendance."
msgstr ""
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment