好激动!好鸡冻!
ios大神直播上课了
还有8年软件开发经验的搜狗工程师黄毅,和10年软件开发经验的华为工程师、架构师
有教第三方支付(微信、APPLE Pay)
课程不再是基础班,而是进阶班给有基础的同学一个上升的台阶!
[查看全文]




Android安全之Https中间人攻击漏洞Android安全 Https 攻击漏洞 应用加固 御安全 MITM0X01 概述中间人攻击,Man-in-the-middle attack,缩写:MITM,是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。https在理论上是可以抵御MITM,但是由于开发过程中的编码不规范,导致https可能存在MITM攻击风险,攻击者可以解密、篡改https数据。0X02 https漏洞Android https的开发过程中常见的安全缺陷:1)在自定义实现X509TrustManager时,checkServerTrusted中没有检查证书是否可信,导致通信过程中可能存在中间人攻击,造成敏感数据劫持危害。2)在重写WebViewClient的onReceivedSslError方法时,调用proceed忽略证书验证错误信息继续加载页面,导致通信过程中可能存在中间人攻击,造成敏感数据劫持危害。3)在自定义实现HostnameVerifier时,没有在verify中进行严格证书校验,导致通信过程中可能存在中间人攻击,造成敏感数据劫持危害。4)在setHostnameVerifier方法中使用ALLOW_ALL_HOSTNAME_VERIFIER,信任所有Hostname,导致通信过程中可能存在中间人攻击,造成敏感数据劫持危害。0X03 漏洞案例案例一:京东金融MITM漏洞京东金融Ver 2.8.0由于证书校验有缺陷,导致https中间人攻击,攻击者直接可以获取到会话中敏感数据的加密秘钥,另外由于APP没有做应用加固或混淆,因此可以轻松分析出解密算法,利用获取到的key解密敏感数据。御安全扫描结果:如下是登陆过程中捕获到的数据:其中的secretkey用于加密后期通信过程中的敏感数据,由于APP中使用的是对称加密,攻击者可以还原所有的通信数据。案例二:中国移动和包任意消费漏洞HTTPS证书校验不严格,可被MITM;加密算法不安全,可被破解;关键数据保存在sdcard卡上,可被任意访问;代码混淆度低,业务逻辑,关键数据泄漏;消息签名算法比较简单,数据可被修改;通信数据如下:POST https://mca.cmpay.com:28710/ccaweb/CCLIMCA4/2201194.dor HTTP/1.1Cookie: JSESSIONID=CHGmYSZLTMRAx_1sSEuUP6Q4vmRI9gWiRPM6ANGnH7eZWv0NhErE!221531807.......Content-Length: 521Host: mca.cmpay.com:28710Connection: Keep-AliveCookie: JSESSIONID=CHGmYSZLTMRAx_1sSEuUP6Q4vmRI9gWiRPM6ANGnH7eZWv0NhErE!221531807Cookie2: $Version=1<?xml version="1.0" encoding="UTF-8" ?> *本站禁止HTML标签噢* *本站禁止HTML标签噢* *本站禁止HTML标签噢* 866697029909260</IMEI> *本站禁止HTML标签噢* 201603241008185gye5tKk6EPB4iliO7</MCID> *本站禁止HTML标签噢* 2201194</TXNCD><VERSION >4.3.82</VERSION > *本站禁止HTML标签噢* Android_21-1794*1080-HUAWEI GRA_UL10</UA> *本站禁止HTML标签噢* 2009</SOURCE> *本站禁止HTML标签噢* 3</PLAT> *本站禁止HTML标签噢* CAS00016</DEVID> *本站禁止HTML标签噢* 991</SERLNO></HEAD> *本站禁止HTML标签噢* *本站禁止HTML标签噢* 866697029909260</IMEI> *本站禁止HTML标签噢* 10</ENTRY> *本站禁止HTML标签噢* 50:a7:2b:c5:e2:d8</MA在用户开启免密支付的前提下,结合以上安全问题,可以实现本地或远程攻击,直接盗取和包用户资金,如给任意账号充值等,给用户带来直接经济损失。0X03 安全建议1) 建议自定义实现X509TrustManager时,在checkServerTrusted中对服务器信息进行严格校验2)在重写WebViewClient的onReceivedSslError方法时,避免调用proceed忽略证书验证错误信息继续加载页面3)在自定义实现HostnameVerifier时,在verify中对Hostname进行严格校验4)建议setHostnameVerifier方法中使用STRICT_HOSTNAME_VERIFIER进行严格证书校验,避免使用ALLOW_ALL_HOSTNAME_VERIFIER0X04 参考https://en.wikipedia.org/wiki/MITMhttps://en.wikipedia.org/wiki/HTTPShttp://drops.wooyun.org/tips/3296(腾讯御安全技术博客)[查看全文]
今天 我们班来了新老师 接替原来的网页老师 教我网页.....
然后 我 把标题文字 加了strong标签。。。。。然后开始写css改变strong标签的样子。。。
#38t问题就出来。。。。。这个老师走过来看到我在写的代码 说 strong标签 用CSS定义 会造成冲突
#49t然后问是什么冲突又貌似不知道的样子。。。上到台上就说
“下面有同学用strong*********会影响搜索引擎,开发搜索引擎的同学就会很注意的********这样做很不好,结构冲突***”
*号是我根本没听清楚的地方,支支吾吾的,不知道说的什么
然后我记得之前我这么做 上个老师说可以这样的
求问 大神 我错在哪里?求指出.....#10t
[查看全文]
兔子生兔子”的问题是这样的: 有一只神奇的兔子,它可以靠自己就可以生兔子!但有个时间的规定,它出生后的第三个月开始才可以生一只兔子,但此后的每个月都可以生一只兔子,而且更神奇的是,它所生的兔子竟然跟它有一模一样的魔力!斐波纳契序列
1、1、2、3、5、8、13、21、33、。。。。。。计算机递归编程实现:
*本站禁止HTML标签噢*
*本站禁止HTML标签噢*
*本站禁止HTML标签噢* 函数的递归实例</title>
</head>
*本站禁止HTML标签噢*
<?php
function Fibanacci($num) //定义Fibanacci函数
{
if($num==1 || $num==2) //如果为第一项和第二项
return 1; //返回值为1
else //除1、2外的其他项
return Fibanacci($num-1)+Fibanacci($num-2); //递归调用前两项之和
}
echo "斐波纳契数列的第1项为:";
echo Fibanacci(1);
echo " *本站禁止HTML标签噢* ";
echo "斐波纳契数列的第12项为:";
echo Fibanacci(12);
echo " *本站禁止HTML标签噢* ";
echo "斐波纳契数列的第7项为:";
echo Fibanacci(7);
echo " *本站禁止HTML标签噢* ";
echo "斐波纳契数列的第20项为:";
echo Fibanacci(20);
?>
</body>
</html>
不用递归,就这样解决:
public class Test{ public static void main(String []args){ int <A class=baidu-highlight href="https://www.baidu.com/s?wd=num&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYmHTknHDYrHR4P1u-m1N-0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtznHDdP1D1nHD1nW01n1TdP1fL" target=_blank>num</A>1=1; int <A class=baidu-highlight href="https://www.baidu.com/s?wd=num&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYmHTknHDYrHR4P1u-m1N-0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtznHDdP1D1nHD1nW01n1TdP1fL" target=_blank>num</A>2=1; int <A class=baidu-highlight href="https://www.baidu.com/s?wd=num&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYmHTknHDYrHR4P1u-m1N-0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtznHDdP1D1nHD1nW01n1TdP1fL" target=_blank>num</A>=num1+num2; System.out.print(" "+num1+" "+num2+" "+num); //前24个月 for(int i=3;i<24;i++){ int num3=num+num2; num2=num; num=num3; System.out.print(" "+num3); if(i%5==0){ System.out.println(); } } } } |
例子中定义了有两个参数的函数,其中¥color参数有默认值。即调用函数时,如果不传入可选参数$color,将是用默认值“#000000”,即黑色字体;第二次调用使用了“red”参数,所以打印字体为红色的。
*本站禁止HTML标签噢*
*本站禁止HTML标签噢*
*本站禁止HTML标签噢* 函数有默认值参数的使用实例</title>
</head>
*本站禁止HTML标签噢*
<?php
function B_I_text($text,$color="#000000")
//定义有参数函数,其中$color参数有默认值
{
echo "<font color=".$color.">";
//使用颜色参数
echo " *本站禁止HTML标签噢* *本站禁止HTML标签噢* ".$text."</i></b>";
//打印字符并加入粗体斜体效果
echo "</font>";
}
$string="PHP编程是一件很简单的事情"; //定义变量
echo $string; //打印变量
echo " *本站禁止HTML标签噢* ";
B_I_text($string); //调用函数,无$color参数
Echo " *本站禁止HTML标签噢* ";
B_i_text($string,"red"); //调用函数,加入$color参数
?>
</body>
</html>
[查看全文]
例子,一个家长叫小孩去买东西,小孩如何去买东西可以作是一个函数。但是小孩也给家长一个条件,如果给一元辛苦费才去买。即只有满足了给一元钱的条件,才去执行买东西这个函数,也才考虑怎么去买。如果条件根本不存在,那么函数相当于没有定义,当然也不会执行了!
*本站禁止HTML标签噢*
*本站禁止HTML标签噢*
*本站禁止HTML标签噢* 函数参数的使用实例</title>
</head>
*本站禁止HTML标签噢*
<?php
$quest=false;
if ($quest){
function B_I_text($text) //定义有参数函数
{
echo " *本站禁止HTML标签噢* *本站禁止HTML标签噢* ".$text."</i></b>"; //打印字符并加入粗体斜体效果
}
}
$string="PHP编程是一件很简单的事情"; //定义变量
echo $string; //打印变量
echo " *本站禁止HTML标签噢* ";
B_I_text($string); //用实际参数调用函数
?>
</body>
</html>
这个程序执行到调用B_I_text($text)函数时,就报错了!
[查看全文]
*本站禁止HTML标签噢*
*本站禁止HTML标签噢*
*本站禁止HTML标签噢* 流程控制综合运用实例</title>
*本站禁止HTML标签噢*
*本站禁止HTML标签噢*
<?php
//首先定义一个数组——图书类型数组
$type[0][0]="学生用书"; //第一个大类别
$type[0][1]="学生教材"; //第一大类中的第一小类
$type[0][2]="教辅用书";
$type[0][3]="课外读物";
$type[0][4]="考试题集";
$type[1][0]="名著"; //第二个大类别
$type[1][1]="中国古典"; //第二大类中的第一小类
$type[1][2]="世界名著";
$type[1][3]="英文原著";
$type[2][0]="考试用书"; //第三个大类别
$type[2][1]="公务员"; //第三大类中的第一小类
$type[2][2]="会计师";
$type[2][3]="医药师";
$type[3][0]="儿童读物"; //第四个大类别
$type[3][1]="看图识字"; //第四大类中的第一小类
$type[3][2]="动漫人物";
$type[4][0]="武侠小说"; //第五个大类别
$type[4][1]="金庸小说"; //第五大类中的第一小类
$type[4][2]="古龙小说";
$type[4][3]="玄幻小说";
echo "<table border=\"1\">"; //打印表格头
for($i=0;$i<count($type);$i++) //外层循环
{
$s=0; //定义循环标识变量
for($j=0;$j<count($type[$i]);$j++) //内层循环
{
if($s%2==0)
echo " *本站禁止HTML标签噢* "; //如果标识为偶数新起一行
$s++; //标识自增
if($j==0) //判断是否为大类别
echo "<td colspan=2 bgcolor=\"#cccc00\">"; //打印大类别的表格
else
echo "<td bgcolor=\"#ccccff\">"; //打印小类别的表格
echo $type[$i][$j]; //输出数据
echo "</td>"; //表格结束
if($j==0) //判断是否为大类别
$s++; //如果为大类别则标识再次自增
if($s%2==0)
echo "</tr>"; //如果大类别一格或小类别两格则表格的地行结束
if($s==(count($type[$i])+1) && count($type[$i])%2==0)//判断小类别项为奇数的情况
echo "<td bgcolor=\"#ccccff\"> </td></tr>";//在后面添加空表格
}
}
?>
</body>
</html>
这里的循环语句中有个S变量,起到了很关键的作用,算是很巧妙!
[查看全文]