Agenda

Mars
2024

L M M J V S D
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Jour avec événement(s)
Jour férié
MER
MER
Carte des utilisateurs
Login
 Connexion
Glossaire
icon_npds_glossaire

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Autres

En ligne

Il y a actuellement 75 visiteur(s) et 0 membre(s) en ligne.

Devenez membre privilégié en cliquant ici

Chat anonyme -1
sondage 2
Test sondage
Résultats  Anciens sondages
  • Votes : 1321
  • Commentaire(s) : 5
Galeries Photo
Activité du Site

Pages vues depuis 20/04/2015 : 21 735 344

  • Nb. de membres 44
  • Nb. d'articles 4
  • Nb. de forums 50
  • Nb. de sujets 9
  • Nb. de critiques 2

Top 10  Statistiques

Github jpb
Bloc 2 affichant une galerie

Index du forum »»  Geoloc »» geoloc "JSON.parse Error: Invalid character"

geoloc "JSON.parse Error: Invalid character"#1267

2Contributeur(s)
npdsutilisateurjpb
1 Modérateur(s)
jpb
npdsutilisateur npdsutilisateuricon_post
Hi there,

Pour info, des user peuvent instruire (malgré l'affichage en rouge d'une restriction du formulaire) des [ °] dans leurs coordonnées de géolocalisation... !!!
=> Ayant pour fâcheux résultat de planter complètement "géoloc". par cette erreur "JSON.parse Error: Invalid character" localisable dans la console webmaster.
==> Bon, la correction reste assez simple pour un nouvel user, car elle nécessite simplement d'identifier et de nettoyer les coordonnées de(s) indélicat(s) directement dans C7 & C8 de la table sql "users_extend"...

Toutefois, il semble que dans user.php le formulaire de validation (fv) qui est actif sur les champs d'enregistrement des coordonnées , soit en réalité plus permissif qu'il ne le prétend vraiment.

Affaire à suivre.
@+
Message édité par : npdsutilisateur / 25-08-2019 09:35
 Message édité par : jpb / 26-08-2019 12:04
jpb jpbicon_post
est ce que sur le labo tu peux rajouter un ° dans le champ lat ou long de ton

user.php/ op=edituser

je viens d'essayer sans succès sur le labo (je ne peux logiquement pas valider le formulaire avec cette valeur) ?? ????
L'eau goutte à  goutte finit toujours par percer la pierre...
Message édité par : jpb / 26-08-2019 12:17


est ce que c'est le controle dans l'interface graphique de la carte qui est défaillant ( c'est à dire quand l'utilisateur se (re)localise sur la carte ??
 Message édité par : jpb / 26-08-2019 12:19
npdsutilisateur npdsutilisateuricon_post

Hi,

Ben non tu as raison, le formulaire dans labo comme chez moi, restreint parfaitement les caractères non autorisés.... & le changement manuel via la carte est parfaitement fonctionnel ..
Mais alors, comment ai je pu trouver un marocain (un new user de la semaine passée) avec des coordonnés de ce type 47° 37' 9.7536'' dans la data de son profil ???????????????

Ou est la faille ... ??? Lol joli mystère
jpb jpbicon_post
dans quelle url as tu vu ces donnérs corrompues ???
L'eau goutte à  goutte finit toujours par percer la pierre...
npdsutilisateur npdsutilisateuricon_post
Aucune url,

Je suis tombé dimanche dernier sur mon geoloc en panne (bloque au chargement de la map).
=> Via la console, j'ai eu l'affichage de cette erreur (en titre de ce sujet) sur geoloc.php.
Je connaissais la solution au PB (que tu m'avais donné jadis) en effet, j'avais déjà eu plusieurs fois ce souci, avant que l'apport de fv dans un formulaire ne corrige/n'impose automatiquement aux maladroits la bonne conduite d'enregistrement des coordonnées.

C'est pour cela que je m'étonne de retrouver ce type de soucis, .... ou "hypothétiquement" c'est qu'il a du utilisé un vieux navigateur x ou la restriction fv n'était pas opérationnel ???

jpb jpbicon_post
un essai avec un navigateur avec le js désactivé ???
L'eau goutte à  goutte finit toujours par percer la pierre...
npdsutilisateur npdsutilisateuricon_post
Oui effectivement, comme cela y a plus de restrictions dans les formulaires.... mais plus d'autres choses non plus🙃 .... !!! Lol
jpb jpbicon_post
et du coup du peux passer de mauvais caracteres ? ( car si oui je mettrai un contrôle en php pour protéger une seconde fois et éviter absolument cette possibilité ) ??
L'eau goutte à  goutte finit toujours par percer la pierre...
npdsutilisateur npdsutilisateuricon_post
Oui,
Je viens de le refaire, et cela plante bien (freeze) geoloc !!!

jpb jpbicon_post
@ npdsutilisateur

si tu peux tester ça ... car là c'est les vacances
pour la partie user (modification) cela devrait faire je ferai l'autre plus tard si ça fonctionne

donc rajout d'un controle en php dans sform qui nous servira dans d'autre cas (pour la saisie dans l'admin...)

et donc meme process désactivation du js et saisi de données corrompues ... qui ne devrait plus etre possible ?....


modules/sform/sform.php


ligne 985
rajouter
case 'lat':
if (!preg_match("/^[-]?([1-8]?\d(\.\d+)?|90(\.0+)?)$/", $valeur)) {
$this->error($nom, "La latitude doit être entre -90.0 et 90.0");
exit();
}
break;
case 'long':
if (!preg_match("/^[-]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/", $valeur)) {
$this->error($nom, "La longitude doit être entre -180.0 et 180.0");
exit();
}
break;

modules/sform/extend-user/extender/formulaire.php
lignes 60 et 61
remplacer par

$m->add_field($ch_lat,aff_langue('[french]Latitude[/french][english]Latitude[/english][chinese][/chinese][spanish]Latitud[/spanish][german]Breitengrad[/german]'),$$ch_lat,'text',false,'','','lat');
$m->add_field($ch_lon,aff_langue('[french]Longitude[/french][english]Longitude[/english][chinese][/chinese][spanish]Longitud[/spanish][german]Längengrad[/german]'),$$ch_lon,'text',false,'','','long');
L'eau goutte à  goutte finit toujours par percer la pierre...