recherche

Maison  >  Questions et réponses  >  le corps du texte

java - 使用Token限制用户提交请求一次有效,但经常前端取不到Token

应用使用Struts2Ajax构建,其中某一业务需要使用Token,限制用户提交一次有效,Token后端是放Redis中,使用SESSIONID作为Key(相当于放SESSION中),前端使用一个JS变量来接收生成的Token。在后续提交业务请求时,需要将此JS中的Token值传递到后端,用来校验,但现在发现很多请求没有Token值,求解。
JS里的Token变量是在加载页面(index.jsp)时由一个Action转发过来的,这个过程中会写入Token值到JS变量中

<script >
var token = "${token}" ;
</script>

后面的业务使用Ajax提交,提交时参数使用token变量作为参数之一提交到后端进行校验,后端日志发现大量请求没有Token值,是什么原因,求解!

高洛峰高洛峰2887 Il y a quelques jours430

répondre à tous(2)je répondrai

  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:45:12

    Pour simplifier la question, selon la signification de la question, la partie suivante du traitement du jeton doit être ignorée. Actuellement, il n'y a pas de jeton dans la requête ajax. Ensuite, vous devez d’abord confirmer si le jeton sur la page a été généré. Vous pouvez faire un simple test de résistance pour voir les résultats. S'il n'y a pas de problème avec le code js, alors la valeur sera envoyée tant qu'elle existe. Il semble donc qu'il puisse y avoir un problème avec le jeton précédent, empêchant cette valeur d'être affichée sur la page.

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-17 17:45:12

    Il n'est pas recommandé de coder en dur le jeton dans le code js. Il est recommandé de l'écrire dans un domaine caché. Ensuite, js récupère à nouveau la valeur.

    répondre
    0
  • Annulerrépondre