gpt4 book ai didi

grails - 重定向到URI发送回添加到浏览器URL栏中的POST参数

转载 作者:行者123 更新时间:2023-12-02 15:17:51 25 4
gpt4 key购买 nike

Grails版本:3.3.4,
Groovy版本:2.4.14,
JVM版本:1.8.0_161,
库本图14.04

我写了一个简单的身份验证表单(最后它将通过https发布):

<form action='auth' method='POST' id='loginForm' class='cssform' autocomplete='off'>
<p>
<label for='j_username'>Login ID</label>
<input type='text' class='text_' name='j_username' id='j_username' />
</p>
<p>
<label for='j_password'>Password</label>
<input type='password' class='text_' name='j_password' id='j_password' />
</p>
<p>
<input type='submit' value='Login' />
</p>

Controller 是:
class LoginController {

def index() {
if (session.user?.name == 'test') {
render view: '/login/youarealreadyin'
}
else {
render view: '/login/auth'
}
}

def auth() {
def loginName = params.j_username?.trim()
def pass = params.j_password?.trim()

if (loginName == 'test' && pass == 'TEST' ) {
session.user = [name: loginName]
redirect uri: '/'
}
else {
render view: '/login/denied'
}
}

}

正确登录并重定向到uri后:'/'-我在浏览器的URL字段中看到名称和密码:
http://localhost:8080/?j_username=test&j_password=TEST

我可以发誓在第一个版本的grails 3中不会发生这种情况...我不记得什么时候...

最好不要在URL中将POSTED密码作为GET参数发送回。

如果我渲染特定 View 而不是重定向它,则不会发生。

最佳答案

如果您将此举报为不受欢迎的行为,那么我们在https://github.com/grails/grails-core/issues上的GitHub问题跟踪器是一个更好的选择。尽管已在https://github.com/grails/grails-core/issues/10965上报告了此问题,但该修复程序似乎已在3.3.5.BUILD-SNAPSHOT中得到验证,并且看起来不错。

如果您只是问这是否是预期的行为,那不是。

关于grails - 重定向到URI发送回添加到浏览器URL栏中的POST参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49755550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com