url

php函数、类和对象以及类的封装、继承、类的静态方法、静态属性

大兔子大兔子 提交于 2020-03-21 07:38:20
1、函数 php内置函数可以直接使用,如果没有安装php扩展即可 自定义函数 //函数function 函数名 function dump($var = null){ //支出默认参数值 echo ‘<pre/>’; var_dump($var); } 2、类(class)和对象( new Obj) <?php //定义一个人的类,现在还不是对象 class Person { //私有属性 private $eye = '大眼睛'; private $mouth = '小嘴巴'; private $leg = '大长腿'; //构造方法 new 对象的时候自定调用 public function __construct() { echo __CLASS__; } public function run() { echo $this->leg; } //学习 会用到 腿(走路)、眼睛(看书)、嘴(念书) public function study() { echo $this->leg, $this->eye, $this->mouth; } } //使用类 new以后就变成了对象 $person = new Person(); //输出 Person $person -> run(); //输出 大长腿 $person -> study(); //输出 大长腿 大眼睛 小嘴唇 3

爬虫黑科技,我是怎么爬取indeed的职位数据的

二次信任 提交于 2020-03-21 07:00:29
最近在学习nodejs爬虫技术,学了request模块,所以想着写一个自己的爬虫项目,研究了半天,最后选定indeed作为目标网站,通过爬取indeed的职位数据,然后开发一个自己的职位搜索引擎,目前已经上线了,虽然功能还是比较简单,但还是贴一下网址 job search engine ,证明一下这个爬虫项目是有用的。下面就来讲讲整个爬虫的思路。 确定入口页面 众所周知,爬虫是需要入口页面的,通过入口页面,不断的爬取链接,最后爬取完整个网站。在这个第一步的时候,就遇到了困难,一般来说都是选取首页和列表页作为入口页面的,但是indeed的列表页面做了限制,不能爬取完整的列表,顶多只能抓取前100页,但是这没有难倒我,我发现indeed有一个 Browse Jobs 页面,通过这个页面,可以获取indeed按地区搜索和按类型搜索的所有列表。下面贴一下这个页面的解析代码。 start: async (page) => { const host = URL.parse(page.url).hostname; const tasks = []; try { const $ = cheerio.load(iconv.decode(page.con, 'utf-8'), { decodeEntities: false }); $('#states > tbody > tr > td > a')

JS经典面试题

徘徊边缘 提交于 2020-03-21 04:52:11
自己总结了一些JS面试题 希望能够帮助正在找工作的程序猿(●´∀`●) 1.js 实现一个函数对javascript中json 对象进行克隆 var oldObject ="sdf"; var newObject = JSON.parse(JSON.stringify(oldObject)); console.log(newObject); 或者 var a = 'dddd'; function cp(a){return JSON.parse(JSON.stringify(a))} console.log(cp(a)); 2.js 实现 ajax 请求或者submit请求时 锁屏功能以及开锁功能(请求时界面Loading以及元素不能点击,请求完成即消除Loading) function(url, fn) { var obj = new XMLHttpRequest(); // XMLHttpRequest对象用于在后台与服务器交换数据 obj.open('GET', url, true); obj.onreadystatechange = function() { if(obj.readyState == 4 && obj.status == 200||obj.status == 304) { loading.style.display = "none" } else {

php 接口的安全实现?

ε祈祈猫儿з 提交于 2020-03-21 02:56:47
https://www.cnblogs.com/afsj/p/7424320.html PHP做APP接口时,如何保证接口的安全性? 1、当用户登录APP时,使用https协议调用后台相关接口,服务器端根据用户名和密码时生成一个access_key,并将access_key保存在session中,将生成的access_key和session_id返回给APP端。 2、APP端将接收到的access_key和session_id保存起来 3、当APP端调用接口传输数据时,将所传数据和access_key使用加密算法生成签名signature,并将signature和session_id一起发送给服务器端。 4、服务器端接收到数据时,使用session_id从session中获取对应的access_key,将access_key和接收到的数据使用同一加密算法生成对应signature,如果生成的签名和接收到的signature相同时,则表明数据合法 https://www.cnblogs.com/zouke1220/p/9394356.html php接口安全设计浅谈 Token授权机制 时间戳超时机制: 签名机制: 拒绝重复调用:客户端第一次访问时,将签名sign存放到缓存服务器中,超时时间设定为跟时间戳的超时时间一致,二者时间一致可以保证无论在timestamp限定时间内还是外

移动web页面使用的字体的思考

夙愿已清 提交于 2020-03-20 22:56:31
前言 记得做PC端页面的时候,字体一般设置为微软雅黑,现在做起移动端页面来了,设计师们一般都还把字体设置为微软雅黑字体,但是做出来后,测试的时候发现页面中的字体不是微软雅黑,怎么办? 后来了解到的手机系统 ios、android 等是不支持微软雅黑字体。为了满足产品的需要,保证视觉稿的还原度,手机端是如何定义微软雅黑字体呢? @font-face的使用 @font-face { font-family: 'MicrosoftYaHei'; src: url('MicrosoftYaHei.eot'); /* IE9 Compat Modes */ src: url('MicrosoftYaHei.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('MicrosoftYaHei.woff') format('woff'), /* Modern Browsers */ url('MicrosoftYaHei.ttf') format('truetype'), /* Safari, Android, iOS */ url('MicrosoftYaHei.svg#MicrosoftYaHei') format('svg'); /* Legacy iOS */ } 有关 @font-face 的使用,大漠的这篇《 CSS3

Java爬取并下载酷狗音乐

北慕城南 提交于 2020-03-20 22:02:49
本文方法及代码仅供学习,仅供学习。 案例:   下载酷狗TOP500歌曲,代码用到的代码库包含:Jsoup、HttpClient、fastJson等。 正文:   1、分析是否可以获取到TOP500歌单 打开酷狗首页,查看TOP500,发现存在分页,每页显示22条歌曲, 发现酷狗的链接如下: https://www.kugou.com/yy/rank/home/1-8888.html?from=homepage 通过更改链接中的1可以进行分页,所以我们可以通过更改链接地址获取其余的歌曲。 2、分析找到正真的mp3下载地址 点一个歌曲进入播放页面,使用谷歌浏览器的控制台的Elements,搜一下mp3,很轻松就定位到了MP3的位置。 但是使用java访问的时候爬取的html里却没有该mp3的文件地址,那么这肯定是在该页面的位置使用了js来加载mp3,那么刷新下网页,看网页加载了哪些东西,加载的东西有点多,着重看一下js、php的请求,主要是看里面有没有mp3的地址。 最终在列表中找到: https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery191044492686523157987_1559446927765&hash=458E9B9F362277AC37E9EEF1CB80B535&album_id

爬虫黑科技,我是怎么爬取indeed的职位数据的

烂漫一生 提交于 2020-03-20 16:31:09
最近在学习nodejs爬虫技术,学了request模块,所以想着写一个自己的爬虫项目,研究了半天,最后选定indeed作为目标网站,通过爬取indeed的职位数据,然后开发一个自己的职位搜索引擎,目前已经上线了,虽然功能还是比较简单,但还是贴一下网址 job search engine ,证明一下这个爬虫项目是有用的。下面就来讲讲整个爬虫的思路。 确定入口页面 众所周知,爬虫是需要入口页面的,通过入口页面,不断的爬取链接,最后爬取完整个网站。在这个第一步的时候,就遇到了困难,一般来说都是选取首页和列表页作为入口页面的,但是indeed的列表页面做了限制,不能爬取完整的列表,顶多只能抓取前100页,但是这没有难倒我,我发现indeed有一个 Browse Jobs 页面,通过这个页面,可以获取indeed按地区搜索和按类型搜索的所有列表。下面贴一下这个页面的解析代码。 start: async (page) => { const host = URL.parse(page.url).hostname; const tasks = []; try { const $ = cheerio.load(iconv.decode(page.con, 'utf-8'), { decodeEntities: false }); $('#states > tbody > tr > td > a')

XMLHTTPRequest状态status完整列表

馋奶兔 提交于 2020-03-20 04:32:46
1xx - 信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 ·0 - 本地响应成功。  · 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)  · 101 - Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) 2xx - 成功 这类状态代码表明服务器成功地接受了客户端请求。  · 200 - OK 一切正常,对GET和POST请求的应答文档跟在后面。  · 201 - Created 服务器已经创建了文档,Location头给出了它的URL。  · 202 - Accepted 已经接受请求,但处理尚未完成。  · 203 - Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝,非权威性信息(HTTP 1.1新)。  · 204 - No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。  · 205 - Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。  · 206 -

XSS详解

限于喜欢 提交于 2020-03-20 03:28:10
什么是XSS( 跨站脚本攻击 ) XSS又叫CSS (Cross Site Script) ,跨站脚本攻击 。 它指的是恶意攻击者往Web页面里插入恶意html代码或者javascript代码,当用户浏览该页之时,嵌入其中Web里面的html代码或者javascript代码会被执行,从而达到恶意的特殊目的。 XSS攻击涉及到三方:攻击者,用户,web server。用户是通过浏览器来访问web server上的网页,XSS攻击就是攻击者通过各种办法,在用户访问的网页中插入自己的脚本,让其在用户访问网页时在其浏览器中进行执行。攻击者通过插入的脚本的执行,来获得用户的信息,比如cookie,发送到攻击者自己的网站(跨站了)。 XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。 在WEB2.0时代,强调的是互动,使得用户输入信息的机会大增,在这个情况下,我们作为开发者,在开发的时候,要提高警惕。 XSS的攻击手段(或者叫攻击的目的) 盗用Cookie获取到一些敏感的信息: 在网页浏览中我们常常涉及到用户登录,登录完毕之后服务端会返回一个cookie值。这个cookie值相当于一个令牌,拿着这张令牌就等同于证明了你是某个用户 如果你的cookie值被窃取,那么攻击者很可能能够直接利用你的这张令牌不用密码就登录你的账户

location 对象

喜夏-厌秋 提交于 2020-03-20 03:09:23
何为location对象? location是最常用的BOM对象之一,它 提供了与当前窗口中加载的文档有关的信息,还提供一些导航功能 。它很特别,因为window.location和document.location引用的是同一个对象,它是window对象和document对象的的属性。 location对象用处 location对象可以保存当前文档的信息,还能将URL解析为独立的片段,我们可以通过不同的属性访问这些片段。 location对象的属性 1. location.hash 设置或返回从井号 (#) 开始的 URL(锚),如果URL不包含散列,则返回空字符串; 2.location.host 设置或返回主机名和当前 URL 的端口号。 3.location.hostname 设置或返回当前 URL 的主机名。 4.location.href 设置或返回完整的 URL。 5.location.pathname 设置或返回当前URL的路径部分 6.location.port 设置或返回当前URL的端口号 7.location.protocol 设置或返回当前URL的协议,如:http:或https: 8.location.search 设置或返回URL的查询字符串,以问号开头的 location对象的方法 1.location.reload() 重新加载当前页面,默认不传参