<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[peter_qyq的博客]]></title><description><![CDATA[工作&生活]]></description><link>https://blog.youkuaiyun.com/peter_qyq</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; peter_qyq]]></copyright><item><title><![CDATA[windows安装kafka配置SASL-PLAIN安全认证]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/132068387</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/132068387</guid><author>peter_qyq</author><pubDate>Thu, 03 Aug 2023 17:33:04 +0800</pubDate><description><![CDATA[confluent是平台化的工具，封装了kafka，让我们可以更方便的安装和使用监控kafka，作用类似于CDH对于Hadoop。confluent是由LinkedIn开发出的团队成员，基于这项技术创立了新公司ConfluentConfluent的产品也是围绕着Kafka做的。]]></description><category></category></item><item><title><![CDATA[java防止xss攻击]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/122328574</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/122328574</guid><author>peter_qyq</author><pubDate>Wed, 05 Jan 2022 17:50:20 +0800</pubDate><description><![CDATA[XSS全称(Cross Site Scripting) 跨站脚本攻击， 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时，脚本就会在用户的浏览器上执行，从而达到攻击者的目的. 比如获取用户的Cookie，导航到恶意网站,携带木马等

XSS 是如何发生的

假如有下面一个textbox


&lt;input type="text" name="address1" value="value1from"&gt;


1
value1from是来自用.]]></description><category></category></item><item><title><![CDATA[RSA随机密钥加密]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/122327496</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/122327496</guid><author>peter_qyq</author><pubDate>Wed, 05 Jan 2022 17:10:57 +0800</pubDate><description><![CDATA[package com.guiyang.education.utils;

import org.apache.commons.codec.binary.Base64;
import javax.crypto.Cipher;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmExce.]]></description><category></category></item><item><title><![CDATA[java获取某个城市的天气状况数据]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/122327414</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/122327414</guid><author>peter_qyq</author><pubDate>Wed, 05 Jan 2022 16:59:55 +0800</pubDate><description><![CDATA[package com.guiyang.education.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.In.]]></description><category></category></item><item><title><![CDATA[Java自定义list组装数据的分页]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/122241301</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/122241301</guid><author>peter_qyq</author><pubDate>Thu, 30 Dec 2021 17:08:02 +0800</pubDate><description><![CDATA[分页类


package com.guiyang.education.controller.api;

import java.util.List;

public class PageData {
    private Integer pageIndex;//当前页
    private int pageSize;//每页显示记录条数
    private int totalPage;//总页数
    private List&lt;?&gt; list;//每页显示的数据
    privat]]></description><category></category></item><item><title><![CDATA[根据excel列名导入数据（jfinal）]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/122240946</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/122240946</guid><author>peter_qyq</author><pubDate>Thu, 30 Dec 2021 16:56:09 +0800</pubDate><description><![CDATA[import com.guiyang.education.base.Constants;
import com.guiyang.education.controller.global.GlobalAuthController;
import com.guiyang.education.controller.service.DataManagementService;
import com.guiyang.education.model.highchart.HighchartModel;
import co.]]></description><category></category></item><item><title><![CDATA[IDEA2021最新常用快捷键]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/117963050</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/117963050</guid><author>peter_qyq</author><pubDate>Wed, 16 Jun 2021 18:03:05 +0800</pubDate><description><![CDATA[快捷键 介绍
Ctrl + F 在当前文件进行文本查找 （必备）
Ctrl + R 在当前文件进行文本替换 （必备）
Ctrl + Z 撤销 （必备）
Ctrl + Y 删除光标所在行 或 删除选中的行 （必备）
Ctrl + X 剪切光标所在行 或 剪切选择内容
Ctrl + C 复制光标所在行 或 复制选择内容
Ctrl + D 复制光标所在行 或 复制选择内容，并把复制内容插入光标位置下面 （必备）
Ctrl + W 递进式选择代码块。可选中光标所...]]></description><category></category></item><item><title><![CDATA[Git利用命令行提交代码步骤]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/108624035</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/108624035</guid><author>peter_qyq</author><pubDate>Wed, 16 Sep 2020 15:59:32 +0800</pubDate><description><![CDATA[利用命令行提交代码步骤
进入你的项目目录
1：拉取服务器代码，避免覆盖他人代码
git pull
2：查看当前项目中有哪些文件被修改过
git status

具体状态如下：
	Untracked: 未跟踪,一般为新增文件,但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
	Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.
	deleted： 文件已删除，本地删除，服务器上还没有删除.
	renamed：
3：将状态改变的代码提交至缓存
git .]]></description><category></category></item><item><title><![CDATA[java从服务器读取图片重新上传替换后无法更新缓存]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/104661681</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/104661681</guid><author>peter_qyq</author><pubDate>Wed, 04 Mar 2020 20:35:22 +0800</pubDate><description><![CDATA[原文链接：https://blog.youkuaiyun.com/daixiaoyu1993/article/details/45154123
java多次上传照片的时候，在服务器端能够看见图片被修改替换了，但是在浏览器本地始终无法更新图片，依旧是第一次的那张图片。
原因很简单，因为浏览器的缓存机制。像图片这些静态资源，浏览器下载一次之后，如果我们重复调用的只是它的缓存。因为图片的url请求并没有改变，比如
...]]></description><category></category></item><item><title><![CDATA[jxl模版导出报错at jxl.biff.DVParser.<init>(DVParser.java:669)]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/103597717</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/103597717</guid><author>peter_qyq</author><pubDate>Wed, 18 Dec 2019 15:02:05 +0800</pubDate><description><![CDATA[贴上错误信息
java.lang.NullPointerException
at jxl.biff.DVParser.(DVParser.java:669)
at jxl.biff.BaseCellFeatures.getDVParser(BaseCellFeatures.java:501)
at jxl.write.biff.SheetWriter.writeDataValidation(She...]]></description><category></category></item><item><title><![CDATA[雪花算法-snowflake]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/89634159</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/89634159</guid><author>peter_qyq</author><pubDate>Sun, 28 Apr 2019 11:15:04 +0800</pubDate><description><![CDATA[雪花算法-snowflake
分布式系统中，有一些需要使用全局唯一ID的场景，这种时候为了防止ID冲突可以使用36位的UUID，但是UUID有一些缺点，首先他相对比较长，另外UUID一般是无序的。
有些时候我们希望能使用一种简单一些的ID，并且希望ID能够按照时间有序生成。
雪花算法简单描述：

最高位是符号位，始终为0，不可用。
41位的时间序列，精确到毫秒级，41位的长度可以使用69年。时间位...]]></description><category></category></item><item><title><![CDATA[java判断文件类型]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/89633692</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/89633692</guid><author>peter_qyq</author><pubDate>Sun, 28 Apr 2019 10:57:19 +0800</pubDate><description><![CDATA[页面代码
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv...]]></description><category></category></item><item><title><![CDATA[javascript实现base64加密和md5加密]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/89632048</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/89632048</guid><author>peter_qyq</author><pubDate>Sun, 28 Apr 2019 10:08:38 +0800</pubDate><description><![CDATA[客户端base64加密


var Base64=
    {
        _keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
        encode:function(e){
            var t="";
            var n,r,i,s,o,u,a;
 ...]]></description><category></category></item><item><title><![CDATA[java防止sql注入过滤器]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/89206541</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/89206541</guid><author>peter_qyq</author><pubDate>Thu, 11 Apr 2019 11:40:31 +0800</pubDate><description><![CDATA[普通的列表模糊查询，可能会被sql注入利用，造成数据泄漏，严重的甚至导致删表删库！

貌似正常的sql语句


SELECT*FROMtblStudentWHEREunit_namelike'%aaa%'orderbycreate_timedesclimit 0, 30 ;

倘若想要借此进行sql注入，input输入框中输入aaa%' or '1%'= '1，...]]></description><category></category></item><item><title><![CDATA[js表单实现在iframe里post传参]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/84858331</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/84858331</guid><author>peter_qyq</author><pubDate>Thu, 06 Dec 2018 16:04:38 +0800</pubDate><description><![CDATA[html部分


&amp;lt;form id=&quot;form1&quot; action=&quot;${url}&quot; target=&quot;target1&quot; method=&quot;post&quot;&amp;gt;
    &amp;lt;input type=&quot;hidden&quot; name=&quot;appId&quot; value=&quot;${appId}&quot;/&amp;gt;
    &amp;lt;input type=&quo]]></description><category></category></item><item><title><![CDATA[js实现post方式提交并打开新窗口]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/84857929</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/84857929</guid><author>peter_qyq</author><pubDate>Thu, 06 Dec 2018 15:55:41 +0800</pubDate><description><![CDATA[
/**
 * js实现post方式提交打开新窗口
 * @param URL
 * @param PARAMS
 */
function postOpenWindow(URL, PARAMS) {
    var temp_form = document.createElement(&quot;form&quot;);
    temp_form.action = URL;
    temp_form.target...]]></description><category></category></item><item><title><![CDATA[DES hex加密]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/84658299</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/84658299</guid><author>peter_qyq</author><pubDate>Fri, 30 Nov 2018 16:23:35 +0800</pubDate><description><![CDATA[
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.annotation.adapters.HexBinaryAdapter;
import com.jfinal.kit.PropKit;
import org.apache.commons.codec.binary.H...]]></description><category></category></item><item><title><![CDATA[windows下 查看 catalina.out实时日志]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/82886811</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/82886811</guid><author>peter_qyq</author><pubDate>Fri, 28 Sep 2018 16:57:55 +0800</pubDate><description><![CDATA[大家都有在linux下使用tail -f catalina.out查看tomcat日志的习惯，在window下可以吗？当然可以下面就介绍一下如何操作。
1、打开bin下面的startup.bat文件，

     把call &quot;%EXECUTABLE%&quot; start %CMD_LINE_ARGS%
     改为call &quot;%EXECUTABLE%&quot; run %CMD_LINE_ARGS%


2...]]></description><category></category></item><item><title><![CDATA[单点登录原理与简单实现]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/81390347</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/81390347</guid><author>peter_qyq</author><pubDate>Fri, 03 Aug 2018 16:40:41 +0800</pubDate><description><![CDATA[一、单系统登录机制

1、http无状态协议

　　web应用采用browser/server架构，http作为通信协议。http是无状态协议，浏览器的每一次请求，服务器会独立处理，不与之前或之后的请求产生关联，这个过程用下图说明，三次请求/响应对之间没有任何联系



　　但这也同时意味着，任何用户都能通过浏览器访问服务器资源，如果想保护服务器的某些资源，必须限制浏览器请求；要限制浏览器请求，必...]]></description><category></category></item><item><title><![CDATA[移动端微信QQ分享一个h5激活app]]></title><link>https://blog.youkuaiyun.com/peter_qyq/article/details/81035597</link><guid>https://blog.youkuaiyun.com/peter_qyq/article/details/81035597</guid><author>peter_qyq</author><pubDate>Fri, 13 Jul 2018 18:18:40 +0800</pubDate><description><![CDATA[场景描述：最近有一个需求是移动端的开发微信QQ分享给朋友一个链接，打开这个链接如果手机里有安装app，直接激活，如果没有跳转到下载的地址。

第一步：我们要用公司账号去申请微信QQ的分享服务。

第二部：移动端的同事开发完成，服务端就可以在分享页面那个接口里返回移动端需要的参数，注意分享的地址要使用域名，否则微信分享后会有个访问提示，不是直接打开原网页


 /**
     * 查看主题详情
 ...]]></description><category></category></item></channel></rss>