python登录网页的脚本,尝试使用脚本登录网页.py

博客内容关注于代码中潜在的SQL注入问题,作者指出在处理用户输入时,应当谨慎以防止SQL注入攻击。示例代码展示了如何使用Python的web库进行用户登录验证,但存在风险。作者建议在实际生产环境中增加更多安全性措施,如记录异常并使用更安全的方式来处理变量。
摘要由CSDN通过智能技术生成

我只是想附和一下,因为上面发布的演示代码有潜在的SQL注入问题。我知道已经有一段时间了,你现在可能已经修好了。在

我的代码与第二种方法非常相似:class Login(object):

def GET(self):

return render_template('login/login.html')

def POST(self):

data = web.input()

try:

username = data.username

# All passwords are stored hashed!

password = hashlib.sha224(data.password).hexdigest()

result = db.select("users",

vars = dict(username=username, password=password),

what = 'id',

where = "username=$username and password=$password")

if len(result) != 0:

web.ctx.session.userid = result[0].id

web.ctx.user = UserModel(result[0].id)

return web.seeother('/')

except Exception, e:

return render_template('login/login.html',errors=["Bad user/pass"])

在生产过程中,我实际上在vars dict中有更多的键,比如isactive。我也会记录任何异常。我使用Jinja作为模板引擎,这就是为什么我的回答与你的有所不同。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值