介绍
有时候pinia的store状态需要与cookie同步,比如用户信息
这里提供一个方便的工具类
使用
cookie.js工具类
//设置cookie,增加到vue实例方便全局调用  
//vue全局调用的理由是,有些组件所用到的接口可能需要session验证,session从cookie获取  
//当然,如果session保存到vuex的话除外  
//全局引入vue  
var cookie={  
    setCookie (c_name, value, expiredays){  
        var exdate = new Date();  
        exdate.setTime(exdate.getTime()+expiredays);  
        exdate.setDate(exdate....                                
            
			
			
			
		Vue的路由组件Router的基本使用
                                    安装和注册
官方文档
https://router.vuejs.org/zh/introduction.html
npm i vue-router
"vue-router": "^4.3.0"
main.js中注册
import router from './router'
定义路由
import { createRouter, createWebHistory } from 'vue-router'  
import HomeView from '../components/HomeView.vue'  
import AboutView from '../components/AboutView.vue'  
  
...                                
            
			
			
			
		vue接口请求库axios,fetch的使用
                                    介绍
本文介绍一下axios的安装,配置,get,post和stream用法(封装方式),拦截器用法
安装
npm install axios
"axios": "^1.6.8",
request封装
request.js主要是对axios进行基本配置
import axios from 'axios'
export const API_BASE_URL = "http://192.168.68.92:16603";
const service = axios.create({  
    //url = base url + reqeust url  
    baseURL : API_BASE_URL,  
    //配置请求超时时间  
   ...                                
            
			
			
			
		element-plus的Menu菜单
                                    介绍
Menu菜单用来做标题头还是蛮方便的。
https://element-plus.org/zh-CN/component/menu.html
本文介绍一下基本使用
基本使用
<template>  
  <el-menu      
	  :default-active="activeIndex"  
      class="el-menu-demo"  
      mode="horizontal"  
      :router="true"  
  >  
    <el-menu-item index="/">Home</el-menu-item>  
    <...                                
            
			
			
			
		wxPython开发桌面应用简介(源码)
                                    安装
本文简单介绍一下wxpython开发桌面应用
pip install wxPython
pillow==10.3.0  
six==1.16.0  
wxPython==4.2.1
开发
# 简单的弹窗应用
import wx  
class MyFrame(wx.Frame):  
    def __init__(self):  
        super().__init__(None, title="Hello wxPython", size=(300, 200))  
        panel = wx.Panel(self)  
        btn = wx.Button(panel, label="Click Me!", pos=(100, 50))  
        btn.Bind(wx....                                
            
			
			
			
		django的日志库logging使用介绍
                                    介绍
日志记录是非常实用的开发工具,之前学的教程里没介绍过,还是用chatgpt的时候它告诉我的。
用下来发现和android的log工具非常像,甚至更加好用。
logging在普通python程序中也可以使用,在django中则配置更加方便
本文也完全根据chatgpt教学整理成笔记完成
django中使用logging
下面是一个例子
#在setting文件中配置日志记录器格式
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '{lev...                                
            
			
			
			
		django的自定义用户,自定义用户验证
                                    介绍
django的自定义用户和自定义用户验证是常用操作,但是新手很容易搞迷糊
本文整理一下
自定义用户
# 先定义用户model
from django.contrib.auth.models import AbstractUser
class UserProfile(AbstractUser):  
    nick_name = models.CharField(max_length=50, verbose_name=u"昵称", default="")  
    birday = models.DateField(verbose_name=u"生日", null=True, blank=True)  
    gender = models.CharField(max_l...                                
            
			
			
			
		django用QQ邮箱发送SMTP邮件踩坑笔记
                                    介绍
django发送邮件是比较常见的需求,国内比较普遍使用的QQ的SMTP发送邮件服务
但是网上教程还是挺多坑,尝试半天终于成功了,这里记录一下
QQ邮箱配置
QQ邮箱设置里点击管理服务
生成授权码
点击查看配置SMTP和IMAP方法,其实下面讲不对
具体配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'  
EMAIL_HOST = 'smtp.qq.com'  
EMAIL_PORT = 25  # 关键这个端口,必须写25,按官网的端口都没用
EMAIL_USE_TLS = False  
EMAIL_HOST_USER = ''  # 你的邮箱地址  
EMAIL_HOST_PASSWORD = ...                                
            
			
			
			
		开发后端找回密码功能流程梳理
                                    介绍
之前文章介绍了注册和登录,本文梳理一下找回密码的流程
找回密码流程
 
...                                
            
			
			
			
		JWT是否可以避免XSS攻击和CSRF攻击
                                    JWT介绍
JWT是一种适合分布式的用户身份验证方式,特点是不同微服务可以独立验证用户身份,获取用户身份信息。
前端使用JS将JWT放在header中手动发送给服务端,服务端验证header中的JWT字段,而非cookie信息
XSS跨站脚本攻击
用户访问网页的时候,执行了源网站没有的JS脚本
比如
将js脚本添加的url地址后面
源服务器被黑客攻击,网页夹带了黑客的JS脚本
结论:
JWT无法避免XSS攻击,因为js脚本可以从store中获取用户的jwt令牌
CSRF攻击
用户在登录源网站的情况下,在不知情的情况下调用了目标网站的接口(带着cookie)
典型场景,比如伪造的网站B有一个图片src地址是源网站A的。
用户登录A网站的前提下,访问B网站,会在不知情的情况下自动带着A网站的cookie请求了B网站的src地址的接口
传统防御方法是,每个...