cookie和session

  • cookie:保存在浏览器中的。
  • session:存储在服务器。使用session,敏感数据不是直接发送回浏览器,而是发送一个`session_id`,服务器将session_id和敏感数据做一个映射存储在服务器的session中。session可以设置过期时间。保障了账号安全
  • cookie和session都可以理解为一种存储数据的方式

flask中session的工作机制:把敏感数据经过加密后放入session中,然后再把session存放到cookie中,下次请求的时候,再从浏览器发送过来的cookie中读取session,然后再从session中读取敏感数据,并进行解密,获取最终的用户数据。

 

操作session:

  • 使用session要设置SECRET_KEY,用来作为加密用的,并且这个SECRET_KEY如果每次都变化,那么之前的session就不能解密了。
  • 操作session,跟操作字典是一样的
  • 添加session,`session['username']`
  • 删除session,`session.pop['username']或`delsession['username']。第一种,如果username不存在会报错,第二种如果不存在返回的是none
  • 清楚所有session,`session.clear()`
  • 获取session,`session.get('username')

 

get请求和post请求:

get请求:

  • 场景:如果只从服务器获取数据,没有对服务器产生任何影响,那么用get请求
  • 传参:get请求传参是放在url中,并且是通过`?`的形式来制定key和value的

post请求:

  • 场景:如要对服务器产生影响,使用post请求
  • 传参:post传参不是放在url中,是通过`form data`的形式发送给服务器的

get请求通过`flask.request.args`来获取

post请求通过`flask.request.form`来获取

post需要注意:

  • 要在input标签中,要写name来标识这个value的key,方便后台获取
  • 在写form表单的时候,要指定`method='post`并且要指定`action=url`
  • <form action="{{ url_for('login') }}" method="post">
            <table>
                <tbody>
                    <tr>
                        <td>用户名:</td>
                        <td><input type="text" placeholder="请输入用户名" name="username"></td>
                    </tr>
                    <tr>
                        <td>密码:</td>
                        <td><input type="text" placeholder="请输入密码" name="password"></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td><input type="submit" value="登录"></td>
                    </tr>
                </tbody>
            </table>
    </form>

     

 

转载于:https://www.cnblogs.com/betterluo/p/8660419.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值