我的应用程序用户通过带nonce
参数的链接发出命令(创建新帖子、删除评论等)。由于这是通过GET
URL 栏传输的,因此包含此技术细节。我想隐藏它,从而使 URL 更方便用户使用。
我知道我可以使用header('Location: …')
,但这会导致浏览器丢弃响应内容,并且发出第二个请求到所述标头中的 URL。我不希望发生第二个请求,因为它需要在会话中存储上一次操作的(可能的)错误消息,并在下一页等中显示它们。
目前我使用此代码来改变客户端的 URL
history.replaceState({},document.title,'<?=$url_without_nonce ?>')
但我确实希望通过PHP
或获得适当的服务器端解决方案mod_rewrite
。