javascript - À propos d'ajax, traitement sécurisé des données capturées par Front-end JQ
漂亮男人
漂亮男人 2017-05-16 13:16:33
0
1
451

Concernant l'ajax et les sources de données, j'utilise généralement des notes jq pour lancer directement la valeur qui doit être publiée dans un élément, puis la récupérer. De cette façon, utilisez la console du navigateur pour modifier les attributs de la page, et la valeur de la publication ajax sera également modifiée.
Bien que j'utilise php sur le backend pour déterminer si l'utilisateur est la vraie personne, cela ne peut aller que jusqu'à présent.
J'ai vu que les valeurs des éléments pertinents sur la page d'un certain site Web augmentent constamment. Cette méthode peut également éviter les attaques de modification d'éléments.
Comment le faire ? Ou existe-t-il un moyen d'empêcher la source de données capturée par ajax ? être accessible par la console ou par d'autres moyens ?
Description en texte pur, si vous ne la comprenez pas, je peux poster une photo pour la montrer

traitement ajax

...
$('.jq_btn_del').click(function () {
    var i=$(this).attr('jqid');
    alert(i)
    if(vardel){
      ...
        $.ajax({
             ...
            type:'post',
            data:{'course_id':i,...},
            datatype:'json'
            ...
           
    }
})

Page d'accueil

<td>
  <a class="jq_btn_del"
jqid="{$vo.sharing_id}" >删除</a> 
</td>

Console

J'ai utilisé la console pour modifier la partie soulignée jqid dans l'image, et par conséquent, les données de traitement ajax ont également été modifiées. jqid,结果ajax的处理数据也被改变了。
我知道后台要过滤判断,但是面对提交数据多的话,肯定有疏漏。
我自己也想过,直接全部数据丢json,然后在获取一个id,根据id获取json里的数据在处理判断。
我见过有人再类型jqidJe sais que le filtrage et le jugement sont nécessaires en arrière-plan, mais s'il y a beaucoup de données soumises, il doit y avoir des omissions.

J'ai également pensé à perdre directement toutes les données au profit de json, puis à obtenir un identifiant, puis à obtenir les données en json en fonction de l'identifiant pour le traitement et le jugement. 🎜J'ai vu des gens créer une valeur d'accumulation de temps dans le type jqid pour éviter toute modification. S'il vous plaît dites-moi comment vous traitez habituellement les données sur la page jq et HTML sont exposées. Je sais que le code jq ne peut pas être modifié dans la console. , si dans foreach, jq déclenche au moins une valeur, alors cette valeur est très dangereuse. Ce que j'ai dit était très déroutant...🎜
漂亮男人
漂亮男人

répondre à tous(1)
Ty80

Si je souhaite simplement empêcher la modification de la console, je ne connais actuellement que le paramètre de cookie httpOnly, qui ne peut être modifié que via des sessions en arrière-plan.
S'il s'agit simplement d'empêcher les modifications entre domaines, sessionStorage et localStorage peuvent être utilisés. Mais aucun de ces éléments n’empêche l’utilisateur d’ouvrir directement l’injection de la console.
En fait, les dernières mesures de sécurité doivent être effectuées en arrière-plan, interception et filtrage.
« Ne faites confiance à aucune entrée de l'utilisateur »

==========
Craignez-vous que des js illégaux modifient les données que vous liez au dom, vous obligeant à supprimer des données qui ne devraient pas être supprimées ?
Essayez d'utiliser des événements pour lier des opérations à vos éléments DOM.

    $('.jq_btn_del').each(function(){
        var id = $(this).data('id')
        $(this).click(function(){
            deleteFuction(id)
        })
    })

C'est ce que cela signifie.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal