Other

Oracle

1、sql排序 #字符串替换SELECT replace('C123~','~','') as int from dual;CAST (REPLACE(REPLACE (sp.plantNumber, '~', ''), 'C', '') AS INT) ASC #排序 #是否包含某个字符SELECT instr('1','~') from dual;INSTR (sp.plantNumber, '~') DESC #排序 #获取字符串中指定字符select REGEXP_SUBSTR ('12~', '[0-9]*') from dual;TO_NUMBER (REGEXP_SUBSTR (sp.plantNumber, '[0-9]*')) ASC, #排序 #筛选指定字符串select TRIM (TRANSLATE ('C1','C0123456789~',' ')) from dual ;  

二、SQLMap 渗透测试工具

数据库注入一般情况下采用两种方式 :SQLMap 工具注入 和 手工注入 ,SQLMap 核心 :获取数据库里的数据 实验环境 :Kali SQLMap 为攻击方,Windows 7 为被攻击方 一、SQLMap 打开方式 ① 点点点 :采用这种方法打开的 SQLMap 终端是没有后接其它命令的,系统实际上默认执行的是 sqlmap -h 帮助命令,系统会列出相关使用方法 ② 命令行直接敲 sqlmap 命令 :sqlmap 实际上是一个 python 脚本,已写入环境变量 二、SQLMap 基本操作 网页传参方式多为 GET 和 POST 两种 1. GET 探测是否可被注入 sqlmap -u [url?id=x] # get方式探测当前页面是否可被注入,所有id参数值全部写上 sqlmap -u [url?id=x] # 多个id值则需要使用引号引起来 # 实际执行命令时去掉[]大括号 一些系统回显提示 : ① 系统已猜测到数据库为 Mysql ,询问是否需要跳过其它数据库类型验证 : ② 确认探测级别 :

Mysql管理系列四之查询窗口的使用

度过了欢快的五一假期,MySQL系列也陆续推出了系列四之“查询窗口的使用‘’,使用HHDBCS工具通过语句窗口来执行SQL,如格式化sql、查询分析,对表格进行查询、新增、修改、删除等。欢迎参看下方视频中的操作!社区里还有“Mysql管理系列“其他操作视频:https://dbcs.deskui.com/pages/video_mysql.html,欢迎访问!

FJOI2022 退役记

尽人事,听天命。 FJOI2022.RP++, FJOI2022.score++; Day -? 进行紧张刺激的复习活动。 有一种 All last 我四位坐庄在拼命尝试缩小点差的感觉。咍咍。 不过我 NOIP 打烂也只能怪自己,和几个朋友聊了一下,感觉考 FJOI 还是心态最重要。那就把心态放平吧。 Day 0 试机日。不得不说感觉键盘不太好用( 和 Stern 一起写了 FHQ-Treap 维护区间加、区间求和,可惜他没能在试机结束之前调出来。 发现这个机子对拍多拍一会就容易卡,有点害怕。 试机之前顺便参观(指站在门口观望)了一下 AHSFNU 的机房。 Day 1 有人开挂修改牌山做出了天胡字一色大四喜四暗刻单骑七倍役满,我含恨被飞。 进场后发现 fhq_treap 坐我旁边。 开题,t1 不会 t2 不会 t3 不会。 t2 写了个暴力,写完发现 t3 是诈骗题,写了个贪心,过了拍就没管了。 出场好像大家都只会 t3,jzp t2 写了 PR,感觉能过。 等成绩的时候找了个地方打扑克。然后顺便进 AHSFNU 的机房逛了逛。发现有三个人在打雀。 张榜,0 + 35 + 100 = 135。 然后后面仔细观察了一波榜发现不对劲,哪里不对劲想必大家都已经知道了。 Day 2 0 + 0 + 6 = 6。 退役了。

正则匹配

正则匹配汇总 1、匹配中文:[\u4e00-\u9fa5] 2、英文字母:[a-zA-Z] 3、数字:[0-9] 4、匹配中文,英文字母和数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} 5、 (?!_) 不能以_开头 (?!.*?_$) 不能以_结尾 [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字、数字、字母、下划线 $ 与字符串结束的地方匹配 6、只含有汉字、数字、字母、下划线,下划线位置不限: ^[a-zA-Z0-9_\u4e00-\u9fa5]+$ 7、由数字、26个英文字母或者下划线组成的字符串 ^\w+$ 8、2~4个汉字 ^[\u4E00-\u9FA5]{2,4}$; 9、最长不得超过7个汉字,或14个字节(数字,字母和下划线)正则表达式 ^[\u4e00-\u9fa5]{1,7}$|^[\dA-Za-z_]{1,14}$ 10、匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 11、匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 12、匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力 13、匹配首尾空白字符的正则表达式:^s*|s*$ 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 14、匹配Email地址的正则表达式:^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$ 评注:表单验证时很实用 15、手机号:^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\d{8}$ 16、身份证:(^\d{15}$)|(^\d{17}([0-9]|X|x)$) 17、匹配网址URL的正则表达式:[a-zA-z]+://[^s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 18、匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:表单验证时很实用 19、匹配国内电话号码:d{3}-d{8}|d{4}-d{7} 评注:匹配形式如 0511-4405222 或 021-87888822 20、匹配腾讯QQ号:[1-9][0-9]{4,} 评注:腾讯QQ号从10000开始 21、匹配中国邮政编码:[1-9]d{5}(?!d) 评注:中国邮政编码为6位数字 22、匹配身份证:d{15}|d{18} 评注:中国的身份证为15位或18位 23、匹配ip地址:d+.d+.d+.d+ 评注:提取ip地址时有用 24、匹配特定数字: ^[1-9]d*$ //匹配正整数 ^-[1-9]d*$ //匹配负整数 ^-?[1-9]d*$ //匹配整数 ^[1-9]d*|0$ //匹配非负整数(正整数 + 0) ^-[1-9]d*|0$ //匹配非正整数(负整数 + 0) ^[1-9]d*.d*|0.d*[1-9]d*$ //匹配正浮点数 ^-([1-9]d*.

sql注入漏洞

数据的CIA保护 Confidentiality:机密性指只有授权用户可以获取信息。 Integrity:完整性指信息在输入和传输的过程中,不被非法授权修改和破坏,保证数据的一致性。 Availability:可用性指保证合法用户对信息和资源的使用不会被不正当地拒绝。 三种sql语言 DML database manipulation language 数据库操作语言 select , insert , update , delete 等 当攻击者使用DML语言是,就违反了数据的保密性和完整性(update)。 DDL database definition language 数据库定义语言 攻击者使用DDL违反了数据的完整性(alert)和可用性(drop) DCL database control language 数据库操作语言 数据控制语言用于创建权限,以允许用户访问和操作数据库。 攻击者使用DCL违反了数据的 保密性(grant) 可用性(revoke)。 sql注入的实现 JDBC和sql注入 public static void main(String[] args) throws Exception { Class.forName(com.mysql.cj.jdbc.Driver); //代表外部输入的参数 String parameter = tom' union select null,null from dual'; Connection connection = DriverManager.getConnection(jdbc:mysql://localhost:3306/STOREDB, root, root); //此种方式直接拼接sql,无法防止sql注入的攻击 Statement statement = connection.createStatement(); ResultSet resultSet = statement.

LeetCode 0096 Unique Binary Search Trees

原题传送门 1. 题目描述 2. Solution 1 1、思路分析 定义两个函数 G(n): 长度为n的序列能构成的不同二叉搜索树的个数。 F(i, n): 以i为根、序列长度为n的不同二叉搜索树个数(1 <= i <= n) G(n) = sum{F(i, n)} i in [1, n] 对于边界情况,当序列长度为1(只有根)或为0(空树): G(0) = 1, G(1) = 1 左子树个数 G(i - 1),右子树个数G(n - i) ==> F(i, n) = G(i - 1) * G(n - i) 综上: G(n) = sum{G(i - 1) * G(n - i)} i in [1, n] 2、代码实现 package Q0099.Q0096UniqueBinarySearchTrees; /* 定义两个函数 G(n): 长度为n的序列能构成的不同二叉搜索树的个数。 F(i, n): 以i为根、序列长度为n的不同二叉搜索树个数(1 <= i <= n) G(n) = sum{F(i, n)} i in [1, n] 对于边界情况,当序列长度为1(只有根)或为0(空树): G(0) = 1, G(1) = 1 左子树个数 G(i - 1),右子树个数G(n - i) ==> F(i, n) = G(i - 1) * G(n - i) 综上: G(n) = sum{G(i - 1) * G(n - i)} i in [1, n] 时间复杂度: O(n^2) 空间复杂度: O(n) */ public class Solution { public int numTrees(int n) { int[] G = new int[n + 1]; G[0] = G[1] = 1; for (int i = 2; i <= n; i++) { for (int j = 1; j <= i; j++) { G[i] += G[j - 1] * G[i - j]; } } return G[n]; } } 3、复杂度分析 时间复杂度: O(n^2) 空间复杂度: O(n)

工厂模式

工厂模式 简单工厂模式 工厂模式 抽象工厂模式 Reference 设计模式篇——工厂模式详解

Lua 基本语法

全局变量 默认情况下,变量是全局变量。 全局变量不需要声明,赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是nil。 > print(b)nil> b=10> print(b)10> 删除一个全局变量,只需要将变量赋值为nil。 b = nil print(b) --> nil 这样变量b就好像从没被使用过一样。换句话说, 当且仅当一个变量不等于nil时,这个变量即存在。  关键词 以下列出了 Lua 的保留关键词。保留关键字不能作为常量或变量或其他用户自定义标示符: and break do else elseif end false for function if in local nil not or repeat return then true until while goto     一般约定,以下划线开头连接一串大写字母的名字(比如 _VERSION)被保留用于 Lua 内部全局变量。

php编译命令

./configure --prefix=/www/server/php/74 --with-config-file-path=/www/server/php/74/etc --with-fpm-user=www --with-fpm-group=www --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-fpm