A. 床头靠开门的那面墙 非常不好吗
不要太在意,怎么方便怎么来,这种事信则有不信则无,如果你真在意,你可以请专门的看风水先生看一下,肯定会有解决或者是破解的方法
B. php的反射跟new一个对象有区别么
fnServerData": function ( sSource, aoData, fnCallback ) {
aoData.push( { "name": "table", "value": "wordforms" } );
$.ajax( {
"dataType": 'json',
"url": sSource,
"data": aoData,
"success": fnCallback
} );
}
C. 渗透测试应该怎么做呢
01、信息收集
1、域名、IP、端口
域名信息查询:信息可用于后续渗透
IP信息查询:确认域名对应IP,确认IP是否真实,确认通信是否正常
端口信息查询:NMap扫描,确认开放端口
发现:一共开放两个端口,80为web访问端口,3389为windows远程登陆端口,嘿嘿嘿,试一下
发现:是Windows Server 2003系统,OK,到此为止。
2、指纹识别
其实就是网站的信息。比如通过可以访问的资源,如网站首页,查看源代码:
看看是否存在文件遍历的漏洞(如图片路径,再通过…/遍历文件)
是否使用了存在漏洞的框架(如果没有现成的就自己挖)
02、漏洞扫描
1、主机扫描
Nessus
经典主机漏扫工具,看看有没有CVE漏洞:
2、Web扫描
AWVS(Acunetix | Website Security Scanner)扫描器
PS:扫描器可能会对网站构成伤害,小心谨慎使用。
03、渗透测试
1、弱口令漏洞
漏洞描述
目标网站管理入口(或数据库等组件的外部连接)使用了容易被猜测的简单字符口令、或者是默认系统账号口令。
渗透测试
① 如果不存在验证码,则直接使用相对应的弱口令字典使用burpsuite 进行爆破
② 如果存在验证码,则看验证码是否存在绕过、以及看验证码是否容易识别
风险评级:高风险
安全建议
① 默认口令以及修改口令都应保证复杂度,比如:大小写字母与数字或特殊字符的组合,口令长度不小于8位等
② 定期检查和更换网站管理口令
2、文件下载(目录浏览)漏洞
漏洞描述
一些网站由于业务需求,可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意的文件,可以是源代码文件、敏感文件等。
渗透测试
① 查找可能存在文件包含的漏洞点,比如js,css等页面代码路径
② 看看有没有文件上传访问的功能
③ 采用…/来测试能否夸目录访问文件
风险评级:高风险
安全建议
① 采用白名单机制限制服务器目录的访问,以及可以访问的文件类型(小心被绕过)
② 过滤【./】等特殊字符
③ 采用文件流的访问返回上传文件(如用户头像),不要通过真实的网站路径。
示例:tomcat,默认关闭路径浏览的功能:
<param-name>listings</param-name>
<param-value>false</param-value>
3、任意文件上传漏洞
漏洞描述
目标网站允许用户向网站直接上传文件,但未对所上传文件的类型和内容进行严格的过滤。
渗透测试
① 收集网站信息,判断使用的语言(PHP,ASP,JSP)
② 过滤规则绕过方法:文件上传绕过技巧
风险评级:高风险
安全建议
① 对上传文件做有效文件类型判断,采用白名单控制的方法,开放只允许上传的文件型式;
② 文件类型判断,应对上传文件的后缀、文件头、图片类的预览图等做检测来判断文件类型,同时注意重命名(Md5加密)上传文件的文件名避免攻击者利用WEB服务的缺陷构造畸形文件名实现攻击目的;
③ 禁止上传目录有执行权限;
④ 使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件。
4、命令注入漏洞
漏洞描述
目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句,导致各种调用系统命令的web应用,会被攻击者通过命令拼接、绕过黑名单等方式,在服务端运行恶意的系统命令。
渗透测试
风险评级:高风险
安全建议
① 拒绝使用拼接语句的方式进行参数传递;
② 尽量使用白名单的方式(首选方式);
③ 过滤危险方法、特殊字符,如:【|】【&】【;】【’】【"】等
5、SQL注入漏洞
漏洞描述
目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句查询后台数据库相关信息
渗透测试
① 手动测试:判断是否存在SQL注入,判断是字符型还是数字型,是否需要盲注
② 工具测试:使用sqlmap等工具进行辅助测试
风险评级:高风险
安全建议
① 防范SQL注入攻击的最佳方式就是将查询的逻辑与其数据分隔,如java的预处理,PHP的PDO
② 拒绝使用拼接SQL的方式
6、跨站脚本漏洞
漏洞描述
当应用程序的网页中包含不受信任的、未经恰当验证或转义的数据时,或者使用可以创建 HTML或JavaScript 的浏览器 API 更新现有的网页时,就会出现 XSS 缺陷。XSS 让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点。
三种XSS漏洞:
① 存储型:用户输入的信息被持久化,并能够在页面显示的功能,都可能存在存储型XSS,例如用户留言、个人信息修改等。
② 反射型:URL参数需要在页面显示的功能都可能存在反射型跨站脚本攻击,例如站内搜索、查询功能。
③ DOM型:涉及DOM对象的页面程序,包括:document.URL、document.location、document.referrer、window.location等
渗透测试
存储型,反射型,DOM型
风险评级:高风险
安全建议
① 不信任用户提交的任何内容,对用户输入的内容,在后台都需要进行长度检查,并且对【<】【>】【"】【’】【&】等字符做过滤
② 任何内容返回到页面显示之前都必须加以html编码,即将【<】【>】【"】【’】【&】进行转义。
7、跨站请求伪造漏洞
漏洞描述
CSRF,全称为Cross-Site Request Forgery,跨站请求伪造,是一种网络攻击方式,它可以在用户毫不知情的情况下,以用户的名义伪造请求发送给被攻击站点,从而在未授权的情况下进行权限保护内的操作,如修改密码,转账等。
渗透测试
风险评级:中风险(如果相关业务极其重要,则为高风险)
安全建议
① 使用一次性令牌:用户登录后产生随机token并赋值给页面中的某个Hidden标签,提交表单时候,同时提交这个Hidden标签并验证,验证后重新产生新的token,并赋值给hidden标签;
② 适当场景添加验证码输入:每次的用户提交都需要用户在表单中填写一个图片上的随机字符串;
③ 请求头Referer效验,url请求是否前部匹配Http(s)😕/ServerHost
④ 关键信息输入确认提交信息的用户身份是否合法,比如修改密码一定要提供原密码输入
⑤ 用户自身可以通过在浏览其它站点前登出站点或者在浏览器会话结束后清理浏览器的cookie;
8、内部后台地址暴露
漏洞描述
一些仅被内部访问的地址,对外部暴露了,如:管理员登陆页面;系统监控页面;API接口描述页面等,这些会导致信息泄露,后台登陆等地址还可能被爆破。
渗透测试
① 通过常用的地址进行探测,如login.html,manager.html,api.html等;
② 可以借用burpsuite和常规页面地址字典,进行扫描探测
风险评级:中风险
安全建议
① 禁止外网访问后台地址
② 使用非常规路径(如对md5加密)
9、信息泄露漏洞
漏洞描述
① 备份信息泄露:目标网站未及时删除编辑器或者人员在编辑文件时,产生的临时文件,或者相关备份信息未及时删除导致信息泄露。
② 测试页面信息泄露:测试界面未及时删除,导致测试界面暴露,被他人访问。
③ 源码信息泄露:目标网站文件访问控制设置不当,WEB服务器开启源码下载功能,允许用户访问网站源码。
④ 错误信息泄露:目标网站WEB程序和服务器未屏蔽错误信息回显,页面含有CGI处理错误的代码级别的详细信息,例如SQL语句执行错误原因,PHP的错误行数等。
⑤ 接口信息泄露:目标网站接口访问控制不严,导致网站内部敏感信息泄露。
渗透测试
① 备份信息泄露、测试页面信息泄露、源码信息泄露,测试方法:使用字典,爆破相关目录,看是否存在相关敏感文件
② 错误信息泄露,测试方法:发送畸形的数据报文、非正常的报文进行探测,看是否对错误参数处理妥当。
③ 接口信息泄露漏洞,测试方法:使用爬虫或者扫描器爬取获取接口相关信息,看目标网站对接口权限是否合理
风险评级:一般为中风险,如果源码大量泄漏或大量客户敏感信息泄露。
安全建议
① 备份信息泄露漏洞:删除相关备份信息,做好权限控制
② 测试页面信息泄露漏洞:删除相关测试界面,做好权限控制
③ 源码信息泄露漏洞:做好权限控制
④ 错误信息泄露漏洞:将错误信息对用户透明化,在CGI处理错误后可以返回友好的提示语以及返回码。但是不可以提示用户出错的代码级别的详细原因
⑤ 接口信息泄露漏洞:对接口访问权限严格控制
10、失效的身份认证
漏洞描述
通常,通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌, 或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。
渗透测试
① 在登陆前后观察,前端提交信息中,随机变化的数据,总有与当前已登陆用户进行绑定的会话唯一标识,常见如cookie
② 一般现在网站没有那种简单可破解的标识,但是如果是跨站认证,单点登录场景中,可能为了开发方便而简化了身份认证
风险评级:高风险
安全建议
① 使用强身份识别,不使用简单弱加密方式进行身份识别;
② 服务器端使用安全的会话管理器,在登录后生成高度复杂的新随机会话ID。会话ID不能在URL中,可以安全地存储,在登出、闲置超时后使其失效。
11、失效的访问控制
漏洞描述
未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。
渗透测试
① 登入后,通过burpsuite 抓取相关url 链接,获取到url 链接之后,在另一个浏览器打开相关链接,看能够通过另一个未登入的浏览器直接访问该功能点。
② 使用A用户登陆,然后在另一个浏览器使用B用户登陆,使用B访问A独有的功能,看能否访问。
风险评级:高风险
安全建议
① 除公有资源外,默认情况下拒绝访问非本人所有的私有资源;
② 对API和控制器的访问进行速率限制,以最大限度地降低自动化攻击工具的危害;
③ 当用户注销后,服务器上的Cookie,JWT等令牌应失效;
④ 对每一个业务请求,都进行权限校验。
12、安全配置错误
漏洞描述
应用程序缺少适当的安全加固,或者云服务的权限配置错误。
① 应用程序启用或安装了不必要的功能(例如:不必要的端口、服务、网页、帐户或权限)。
② 默认帐户的密码仍然可用且没有更改。
③ 错误处理机制向用户披露堆栈跟踪或其他大量错误信息。
④ 对于更新的系统,禁用或不安全地配置最新的安全功能。
⑤ 应用程序服务器、应用程序框架(如:Struts、Spring、ASP.NET)、库文件、数据库等没有进行相关安全配置。
渗透测试
先对应用指纹等进行信息搜集,然后针对搜集的信息,看相关应用默认配置是否有更改,是否有加固过;端口开放情况,是否开放了多余的端口;
风险评级:中风险
安全建议
搭建最小化平台,该平台不包含任何不必要的功能、组件、文档和示例。移除或不安装不适用的功能和框架。在所有环境中按照标准的加固流程进行正确安全配置。
13、使用含有已知漏洞的组件
漏洞描述
使用了不再支持或者过时的组件。这包括:OS、Web服务器、应用程序服务器、数据库管理系统(DBMS)、应用程序、API和所有的组件、运行环境和库。
渗透测试
① 根据前期信息搜集的信息,查看相关组件的版本,看是否使用了不在支持或者过时的组件。一般来说,信息搜集,可通过http返回头、相关错误信息、应用指纹、端口探测(Nmap)等手段搜集。
② Nmap等工具也可以用于获取操作系统版本信息
③ 通过CVE,CNVD等平台可以获取当前组件版本是否存在漏洞
风险评级:按照存在漏洞的组件的安全风险值判定当前风险。
安全建议
① 移除不使用的依赖、不需要的功能、组件、文件和文档;
② 仅从官方渠道安全的获取组件(尽量保证是最新版本),并使用签名机制来降低组件被篡改或加入恶意漏洞的风险;
③ 监控那些不再维护或者不发布安全补丁的库和组件。如果不能打补丁,可以考虑部署虚拟补丁来监控、检测或保护。
详细学习可参考:
D. 霓和虹有什么区别
彩虹,简称虹,英文叫rainbow。在东北农村彩虹叫"绛",东
北音读作gang,去声。我记得小时候姥姥和母亲特别告诉我,雨后
出现彩虹时(一般在早晨或者傍晚出现,很少在中午。夏天向天空
喷一口水汽也能容易地生成小彩虹),不许用手指指点彩虹,否则
不吉利,如家里面自己制作大酱的话,酱就可能烂掉。这可能是利
用了谐音,具体原因我现在也不知道。当然我从小对那些说法就不
信,也确实偷偷用手指指点过彩虹,好像什么异常也没有出现。
通常说的彩虹一定是红色在外,紫色在内,呈弧形,弧高40~
42度。这可以通过几何光学的折射和反射定律,及地球与太阳(别
的光源也可以)的关系解释,简单说就是,太阳光线通过大量小球
形的水珠时,发生折射和反射后到达人的眼睛,形成了色彩分开的
虚像。频率高的光波折射的程度要大于频率低的光波,于是彩虹中
红色在外,紫色在内,中间有各色光带。
霓和虹。图片摘自http://www.jal.cc.il.us/~mikolajsawicki/rainbows.htm
与彩虹相对的是"霓",它也叫副虹,位于"虹"的外圈,一
般不出现,或者即使出现亮度和鲜艳程度也不及虹。英文中,与霓
对应的是"secondary rainbow",也称二级虹、次级虹,弧高52~54.5
度。"霓"的色彩正好与虹相反,即外圈是紫色,内圈是红色。霓
的成因也与折射和反射有关,只不过它是二次内反射(double 或 two
internal reflections)的结果(所以亮度减少)。严格说在主虹(即通
常的虹)内侧,还有复杂的光学现象,要用到其他其他理论才能解
释。据说Carl Boyer写过一本书《虹:从神话到数学》(The Rainbow
From Myth to Mathematics,1959),大概讲述人们认识虹的历史过程,
我没有读过。
香蕉动物园画的显然不是霓,但色彩却按霓画了,因此是错误
的。
历史上关于虹有大量描写和论述,好像朱熹就正确地指出过虹
的形成与小水珠有关。在近代科学史上,笛卡儿(Rene Descartes,
1637)和牛顿都专门研究过虹,有精确的解释。有趣的是,意大利
的一位还用现象学的方法研究过虹,他做了许多现象学的实验,重
现了几何光学关于虹的几乎全部实验结果。他试图表明,当年哥德
的颜色理论也许还有用(那作者我忘记了,从网上能够找到)。
从来没有注意过虹的朋友,可以看如下网页,上面有几幅照片,
内圈为虹,外圈为霓:
http://www.jal.cc.il.us/~mikolajsawicki/rainbows.htm
虹与霓形成原理图见:
http://www.unidata.ucar.e/staff/blynds/rnbw7.gif
反射虹的形成原理图见:
http://www.unidata.ucar.e/staff/blynds/rnbw8.gif
关于月光虹的描述见:
http://www.unidata.ucar.e/staff/blynds/Mikkelson.html
难道除了日光还能形成虹?是的,甚至可以用人造光源,在室
内重现虹。
艺术家们也留下了不少关于虹甚至霓的画作。我看过一幅《彩
虹桥》,主景是一瀑布,前面有两道彩桥,一个是虹一个是霓,我
仔细看过,画得十分准确,说明画家仔细观察了那种气象现象,而
不是像"发现"那样赁想象瞎画。
我没有看过最新英文原版的同类影片,不知Discovery公司是否
已经改正,引进的中文版(附英文版)是1998-1999年出品的。在
美国的朋友,如果哪位看过,请告知新版的影片是否还是错的。不
是是否有人向"发现"公司指出过?
关于引进国外优秀科普影片的事情,我曾在中国科普作协科普
翻译委员会的一次小会上讲过,大家要做些事情,关注引进中的一
些问题,如译文中科学术语的准确性、中文发音与字幕的规范性、
原片内容的科学性等。我本人也曾就"国家地理"部分影片的中文
版进行过评述。在此也呼吁更多朋友关注这件事。引进科普片总是
件好事,但要尽可能做得周到,对青少年进行教育来不得半点马虎,
传播错的观念还不如不传播。
想自学有关虹的科学知识,可以看如下网站:
http://www.geom.umn.e/ecation/calc-init/rainbow/
E. easyphpthumbnail,phpthumb哪 个更好
EasyPHPThumbnail类可以处理图像和PHP生成缩略图支持GIF、JPG和PNG。这个类是免费的,基于100%的PHP,可用于PHP4(4.3.11以上)和PHP5,易于使用,并提供了超过60的功能操作:
提供的功能包括:调整大小,裁剪,旋转,翻转,另存为,阴影,水印,文字,边框,锐化,模糊,水波纹,反射镜,透视,动画,置换贴图和更多!
使用简介
1、基本使用
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Createthumb('gfx/image.jpg');
?>
2、动态显示指定大小图片
<?php
include_once('inc/easyphpthumbnail.class.php');
// Your full path to the images
$dir = str_replace(chr(92),chr(47),getcwd()) . '/gfx/';
// Create the thumbnail
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Createthumb($dir . 'img.jpg');
?>
3、生成静态多张本地图片
<?php
include_once('inc/easyphpthumbnail.class.php');
// Your full path to the images
$dir = str_replace(chr(92),chr(47),getcwd()) . '/gfx/';
$dir_thumbs = str_replace(chr(92),chr(47),getcwd()) . '/thumbs/';
if(!is_dir($dir_thumbs)) mkdir($dir_thumbs,0777);
// Create the thumbnail
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 600;
$thumb -> Copyrighttext = 'SCUTEPHP.COM';
$thumb -> Copyrightposition = '50% 90%';
$thumb -> Copyrightfonttype = $dir . 'handwriting.ttf';
$thumb -> Copyrightfontsize = 30;
$thumb -> Copyrighttextcolor = '#FFFFFF';
$thumb -> Chmodlevel = '0755';
$thumb -> Thumblocation = $dir_thumbs;
$thumb -> Thumbsaveas = 'jpg';
$thumb -> Thumbprefix = '120px_thumb_';
$thumb -> Createthumb(array($dir . '69.jpg', $dir . '70.jpg'), 'file');
?>
4、图片大小百分比调整及图片旋转
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 50;
$thumb -> Rotate = 90;//指定度数旋转
//$thumb -> Fliphorizontal = true; //水平轴旋转
//$thumb -> Flipvertical = true; //垂直轴旋转
$thumb -> Percentage = true;
$thumb -> Createthumb('gfx/image.jpg');
?>
Thumbsize默认是px像素单位,然而要用百分比的话可以设置Percentage属性为ture,Rotate属性设置顺时针旋转度数。
5、给缩略图增加背景阴影
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Shadow = true;
$thumb -> Createthumb('gfx/image.jpg');
?>
6、给缩略图增加圆角效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Clipcorner = array(2,15,0,0,1,1,0);
$thumb -> Createthumb('gfx/image.jpg');
?>
Clipcorner属性的7个参数含义
[0]: 0=关闭 1=直角 2=圆角
[1]: 裁剪比例
[2]: 随机 - 0=关闭 1=开启
[3]: 左上 - 0=关闭 1=开启
[4]: 左下 - 0=关闭 1=开启
[5]: 右上 - 0=关闭 1=开启
[6]: 右下 - 0=关闭 1=开启
7、给缩略图增加透明效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Backgroundcolor = '#0000FF';
$thumb -> Clipcorner = array(2,15,0,1,1,1,1);
$thumb -> Maketransparent = array(1,1,'#0000FF',30);
$thumb -> Createthumb('gfx/image.jpg');
?>
8、给缩略图增加框架效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#FFFFFF';
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Shadow = true;
$thumb -> Createthumb('gfx/image.jpg');
?>
9、给缩略图增加经典相框效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#FFFFFF';
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Shadow = true;
$thumb -> Binder = true;
$thumb -> Binderspacing = 8;
$thumb -> Clipcorner = array(2,15,0,1,1,1,0);
$thumb -> Createthumb('gfx/image.jpg');
?>
10、给缩略图增加水印效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#00000';
$thumb -> Backgroundcolor = '#000000';
$thumb -> Clipcorner = array(2,15,0,1,1,1,1);
$thumb -> Watermarkpng = 'watermark.png';
$thumb -> Watermarkposition = '50% 50%';
$thumb -> Watermarktransparency = 70;
$thumb -> Createthumb('gfx/image.jpg');
?>
11、给缩略图增加短文本及相框
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#00000';
$thumb -> Borderpng = 'border.png';
$thumb -> Copyrighttext = 'MYWEBMYMAIL.COM';
$thumb -> Copyrightposition = '50% 80%';
$thumb -> Copyrightfonttype = 'handwriting.ttf';
$thumb -> Copyrightfontsize = 30;
$thumb -> Copyrighttextcolor = '#FFFFFF';
$thumb -> Createthumb('gfx/image.jpg');
?>
12、缩略图按指定形状裁剪
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Borderpng = 'cloud.png';
$thumb -> Createthumb('gfx/image.jpg');
?>
13、指定区域裁剪图片
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Cropimage = array(2,0,20,20,35,35);
$thumb -> Createthumb('gfx/image.jpg');
?>
Cropimage属性六个参数说明
[0]: 0=disable 1=enable free crop 2=enable center crop
[1]: 0=percentage 1=pixels
[2]: Crop left
[3]: Crop right
[4]: Crop top
[5]: Crop bottom
14、裁剪出旧照片效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Shadow = true;
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Cropimage = array(2,0,20,20,35,35);
$thumb -> Ageimage = array(1,10,80);
$thumb -> Createthumb('gfx/image.jpg');
?>
15、属性或方法详解
A
$thumb -> Addtext = array()// 对原始图像添加文字
数组有六个参数
[0]: 0=disable 1=enable
[1]: The text to add
[2]: The position of the text '50% 50%' is the center
[3]: Path to the TTF font (standard systemfont will be used)
[4]: The fontsize to use
[5]: The right text color in web format '#000000'
$thumb -> Ageimage = (array) // 应用灰度 array(1,0,0) 或者旧照片效果 array(1,10,80)
数组有六个参数
[0]: Boolean 0=disable 1=enable
[1]: Add noise 0-100, 0=disable
[2]: Sephia depth 0-100, 0=disable (greyscale)
$thumb -> Applyfilter = (boolean)// 应用用户自定义3x3过滤器
B
$thumb -> Backgroundcolor = (string)// Web格式的背景 '#FFFFFF'
$thumb -> Binder = (boolean) // 在缩略图左边画一粘合剂
$thumb -> Binderspacing = (int) // 以像素为单位的空间
$thumb -> Blur = (boolean) // 模糊过滤器
$thumb -> Borderpng = (string) // 边框PNG图片路径
$thumb -> Brightness = (array) // 改变图片亮度
数组有两个参数
[0]: Boolean 0=disable 1=enable
[1]: Brightness -100 to 100
C
$thumb -> Chmodlevel = (string) // 设置保存图片的权限 '0755'
$thumb -> Clipcorner = (array) // 设置圆角 array(2,15,0,1,1,1,0)
数组有七个参数
[0]: 0=disable 1=straight 2=rounded
[1]: Percentage of clipping
[2]: Clip randomly Boolean 0=disable 1=enable
[3]: Clip top left Boolean 0=disable 1=enable
[4]: Clip bottom left Boolean 0=disable 1=enable
[5]: Clip top right Boolean 0=disable 1=enable
[6]: Clip bottom right Boolean 0=disable 1=enable
$thumb -> Colorreplace = (array)// 颜色替换 array(1,'#FFFFFF','#FF6600',60)
数组有四个参数
[0]: Boolean 0=disable 1=enable
[1]: Color to replace in web format: '#00FF00'
[2]: Replacement color in web format: '#FF0000'
[3]: RGB tolerance 0 - 100
$thumb -> Colorize = (array) // 合并图像中的颜色 array(1,0,0,125,0)
数组有五个参数
[0]: Boolean 0=disable 1=enable
[1]: Red component 0 - 255
[2]: Green component 0 - 255
[3]: Blue component 0 - 255
[4]: Opacity level 0 - 127
$thumb -> Contrast = (array)// 改变图像的对比度 array(1,30)
数组有2个参数
[0]: Boolean 0=disable 1=enable
[1]: Contrast -100 to 100
$thumb -> Copyrighttext = (string) // 增加版权文本
$thumb -> Copyrightposition = (string) // 版权文本位置 '50% 50%' is the center
$thumb -> Copyrightfonttype = (string)// TTF文字字体路径 (standard systemfont will be used)
$thumb -> Copyrightfontsize = (int)// 字体大小
$thumb -> Copyrighttextcolor = (string) // 文字Web格式颜色值 '#000000'
$thumb -> Createthumb('imagepath'[,'output']) // 创建或者输出缩略图
函数有两个参数
[string/array]: 原图片完整路径字符串或数组
[string]: Output to the 'screen' (standard) or 'file' (option)
$thumb -> Createbase64('imagepath')// 以base64数据输出图片
函数有一个参数
[string]: Filename for image to convert
$thumb -> Createcanvas(i,i,i,s,b)// 创建一个画布图像 - use with Createthumb()
函数有五个参数
[int]: Canvas width in pixels
[int]: Canvas height in pixels
[int]: Imagetype PHP: IMAGETYPE_PNG, IMAGETYPE_GIF, IMAGETYPE_JPEG
[string]: Fill color
[boolean]: Transparent (boolean)
$thumb -> Create_apng(array, string, int)// 创建APNG缩略图
函数有三个参数
[array]: Array with filenames of PNG images (frames)
[string]: Filename for APNG: 'animation.png'
[int]: Delay between frames in milliseconds
$thumb -> Cropimage = (array)// 裁剪 array(0,0,20,20,20,20)
数组有六个参数
[0]: 0=disable 1=free crop 2=center crop 3=square crop
[1]: 0=percentage 1=pixels
[2]: Crop left
[3]: Crop right
[4]: Crop top
[5]: Crop bottom
$thumb -> Croprotate = (boolean)// 裁剪图片到同样大小的画布并旋转
D
$thumb -> Displacementmap = (array) // 变形
数组有7个参数: array(1,'gfx/displacementmap.jpg',0,0,0,50,50)
[0]: 0=disable 1=enable
[1]: Path to displacement image (grey #808080 is neutral)
[2]: 0=resize the map to fit the image 1=keep original map size
[3]: X coordinate for map position in px
[4]: Y coordinate for map position in px
[5]: X displacement scale in px
[6]: Y displacement scale in px
$thumb -> Displacementmapthumb = (array) // 缩略图变形
数组有七个参数: array(1,'gfx/displacementmap.jpg',0,0,0,50,50)
[0]: 0=disable 1=enable
[1]: Path to displacement image (grey #808080 is neutral)
[2]: 0=resize the map to fit the image 1=keep original map size
[3]: X coordinate for map position in px
[4]: Y coordinate for map position in px
[5]: X displacement scale in px
[6]: Y displacement scale in px
$thumb -> Divisor = (int)// The divisor for the 3x3 filter
E
$thumb -> Edge = (boolean)// 边缘过滤器
$thumb -> Emboss = (boolean) // 浮雕过滤器
F
$thumb -> Fliphorizontal = (boolean)// 在水平轴翻转图像
$thumb -> Flipvertical = (boolean) // 在垂直轴翻转图像
$thumb -> Filter = (array)// 3x3矩阵 array(-1,-1,-1,-1,8,-1,-1,-1,-1)
数组有九个参数
[0]: a1,1
[1]: a1,2
[2]: a1,3
[3]: a2,1
[4]: a2,2
[5]: a2,3
[6]: a3,1
[7]: a3,2
[8]: a3,3
$thumb -> Framewidth = (int)// 添加缩略图框架(像素)
$thumb -> Framecolor = (string) // 框架颜色 '#FFFFFF'
F. 反射调用private方法实践(php、java)
单测中有个普遍性的问题,被侧类中的private方法无法直接调用。小拽在处理过程中通过反射改变方法权限,进行单测,分享一下,直接上代码。
简单被测试类
生成一个简单的被测试类,只有个private方法。
复制代码
代码如下:
<?php/**
*
崔小涣单测的基本模板。
*
*
@author
cuihuan
*
@date
2015/11/12
22:15:31
*
@version
$Revision:1.0$
**/class
MyClass
{/**
*
私有方法
*
*
@param
$params
*
@return
bool
*/private
function
privateFunc($params){if(!isset($params)){return
false;}echo
"test
success";return
$params;}}
单测代码
复制代码
代码如下:
<?php/***************************************************************************
*
*
$Id:
MyClassTest
T,v
1.0
PsCaseTest
cuihuan
Exp$
*
**************************************************************************//**
*
崔小涣单测的基本模板。
*
*
@author
cuihuan
*
@date
2015/11/12
22:09:31
*
@version
$Revision:1.0$
**/require_once
('./MyClass.php');class
MyClassTest
extends
PHPUnit_Framework_TestCase
{const
CLASS_NAME
=
'MyClass';const
FAIL
=
'fail';protected
$objMyClass;/**
*
@brief
setup:
Sets
up
the
fixture,
for
example,
opens
a
network
connection.
*
*
可以看做phpunit的构造函数
*/public
function
setup()
{date_default_timezone_set('PRC');$this->objMyClass
=
new
MyClass();}/**
*
利用反射,对类中的private
和
protect
方法进行单元测试
*
*
@param
$strMethodName
string
:反射函数名
*
@return
ReflectionMethod
obj
:回调对象
*/protected
static
function
getPrivateMethod($strMethodName)
{$objReflectClass
=
new
ReflectionClass(self::CLASS_NAME);$method
=
$objReflectClass->getMethod($strMethodName);$method->setAccessible(true);return
$method;}/**
*
@brief
:测试private函数的调用
*/public
function
testPrivateFunc(){$testCase
=
'just
a
test
string';//
反射该类$testFunc
=
self::getPrivateMethod('privateFunc');$res
=
$testFunc->invokeArgs($this->objMyClass,
array($testCase));$this->assertEquals($testCase,
$res);$this->expectOutputRegex('/success/i');//
捕获没有参数异常测试try
{
$testFunc->invokeArgs($this->transfer2Pscase,
array());}
catch
(Exception
$expected)
{$this->assertNotNull($expected);return
true;}$this->fail(self::FAIL);}}
运行结果
cuihuan:test
cuixiaohuan$
phpunit
MyClassTest.php
PHPUnit
4.8.6
by
Sebastian
Bergmann
and
contributors.Time:
103
ms,
Memory:
11.75MbOK
(1
test,
3
assertions)
关键代码分析
封装了一个,被测类方法的反射调用;同时,返回方法之前处理方法的接入权限为true,便可以访问private的函数方法。
复制代码
代码如下:
/**
*
利用反射,对类中的private
和
protect
方法进行单元测试
*
*
@param
$strMethodName
string
:反射函数名
*
@return
ReflectionMethod
obj
:回调对象
*/protected
static
function
getPrivateMethod($strMethodName)
{$objReflectClass
=
new
ReflectionClass(self::CLASS_NAME);$method
=
$objReflectClass->getMethod($strMethodName);$method->setAccessible(true);return
$method;}
下面给大家分享java中利用反射调用另一类的private方法
我们知道,Java应用程序不能访问持久化类的private方法,但Hibernate没有这个限制,它能够访问各种级别的方法,如private,
default,
protected,
public.
Hibernate是如何实现该功能的呢?答案是利用JAVA的反射机制,如下:
<span
style="font-size:14px;">import
java.lang.reflect.InvocationTargetException;
import
java.lang.reflect.Method;
public
class
ReflectDemo
{
public
static
void
main(String[]
args)
throws
Exception
{
Method
method
=
PackageClazz.class.getDeclaredMethod("privilegedMethod",
new
Class[]{String.class,String.class});
method.setAccessible(true);
method.invoke(new
PackageClazz(),
"452345234","q31234132");
}
}
class
PackageClazz
{
private
void
privilegedMethod(String
invokerName,String
adb)
{
System.out.println("---"+invokerName+"----"+adb);
}
}</span>
输出结果为:---452345234----q31234132
G. 大数据爬虫技术有什么功能
网络爬虫是Spider(或Robots、Crawler)等词的意译,是一种高效的信息抓取工具,它集成了搜索引擎技术,并通过技术手段进行优化,用以从互联网搜索、抓取并保存任何通过HTML(超文本标记语言)进行标准化的网页信息。其作用机理是:发送请求给互联网特定站点,在建立连接后与该站点交互,获取HTML格式的信息,随后转移到下一个站点,并重复以上流程。通过这种自动化的工作机制,将目标数据保存在本地数据中,以供使用。网络爬虫在访问一个超文本链接时,可以从HTML标签中自动获取指向其他网页的地址信息,因而可以自动实现高效、标准化的信息获取。随着互联网在人类经济社会中的应用日益广泛,其所涵盖的信息规模呈指数增长,信息的形式和分布具有多样化、全球化特征,传统搜索引擎技术已经无法满足日益精细化、专业化的信息获取和加工需求,正面临着巨大的挑战。网络爬虫自诞生以来,就发展迅猛,并成为信息技术领域的主要研究热点。当前,主流的网络爬虫搜索策略有如下几种。
H. php到什么程度可以找工作
php工作要求:
精通php,html5,jquery;熟悉MYSQL等数据库;具备网站系统分析架构与设计经验;对业务有很强的领悟能力,能快速准确的将业务需求转化为业务架构,具备创新精神 ;
能够承受工作压力,具有良好地沟通交流和团队合作能力;熟练运用MVC架构,网络地图或GoogleMap等相关开发经验者优先;熟悉TML5、CSS、Jquery、Ajax、JqueryMobile、Bootstrap等。
PHP内核由C开发,因此在语法上跟C有不少相似之处。但PHP绝对不是C。
PHP语法除了跟C有相似之处外,还跟Java、Perl比较流行的编程语言存在相似的地方。因此,如果你有上述语言基础,PHP入门会更加快速。
PHP能直接嵌入HTML语言中,与HTML混编。PHP开发的目的主要是允许web开发人员快速编写动态生成的web页面,但PHP的用途远不只于此。
PHP还包含了命令列执行接口,和产生图形使用者接口(GUI)程式。
(8)php反射作用扩展阅读:
php岗位职责:
1、负责网站,移动App和第三方平台接口的后端模块设计,开发;
2、参与系统的需求分析、设计、编码等开发工作;
3、负责相关系统的运营和维护工作,保证系统稳定可靠运行。
php工作要求:
1、大专或以上学历,计算机或相关专业;
2、2年以上PHP开发经验,具有良好的php基础,熟悉yii,thinkphp,CI或其他开源框架;
3、精通PHP+MYSQL编程,熟练使用html、Javascrīpt、Ajax以及CSS编写;
4、熟悉linux环境,熟悉LAMP结构;
5、熟悉MYSQL数据库开发、配置、维护、性能优化;
6、具有MySQL索引优化、查询优化和存储优化经验方面的经验,要求随时随地贯彻最优化开发的思想;
7、必须拥有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,代码冗余率低;
8、有撰写设计文档的习惯,有团队开发经验;
I. 关于UFO问题
1、如果真的有 而我们也看见了 那它应该不是在以超光速飞行。它是超光速飞,可不一定要时刻都超啊
2、如果真的有,我想能到地球上来的外星人智慧肯定比地球人高,当然也有可能是比地球人差的,因为智商是测地球人的,可能并适用于外星人
3、怎么到怎么回来啊,电磁波都可以发射、衍射的。
4、有时间我去问问那些土着....
5、同2 如果比地球人智慧高那可能是比人类早,当然如果比人类智慧低也不见得历史会比人类短
6、我去问问外星人再说....应该没有,否则早就世界末日了
7、据说美国找到过UFO残骸
8、既然他们有这个能力超光速飞行,那肯定有能力解决这个问题
9、嗯、无人驾驶比较危险吧..呵呵 开玩笑
给你几个网址
http://post..com/f?kw=%C6%BD%D0%D0%D3%EE%D6%E6&t=4
http://post..com/f?ct=&tn=&rn=&pn=&lm=&sc=&kw=%CD%E2%D0%C7%C8%CB&rs2=0&myselectvalue=1&word=%CD%E2%D0%C7%C8%CB&tb=on
http://post..com/f?kw=%BD%F0%D7%D6%CB%FE&frs=yqtb
http://post..com/f?ct=&tn=&rn=&pn=&lm=&sc=&kw=%CE%B4%BD%E2%D6%AE%C3%D5&rs2=0&myselectvalue=1&word=%CE%B4%BD%E2%D6%AE%C3%D5&tb=on
http://post..com/f?ct=&tn=&rn=&pn=&lm=&sc=&kw=UFO&rs2=0&myselectvalue=1&word=UFO&tb=on