PHP相关知识介绍_第1页
PHP相关知识介绍_第2页
PHP相关知识介绍_第3页
PHP相关知识介绍_第4页
PHP相关知识介绍_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP相关知识的介绍1.什么是PHPPHP,是英文超级文本预处理语言HypertextPreprocessor的缩写。PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。PHP的另一个含义是:菲律宾比索的标准符号。 2PHP语言简介

PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。PHP安装它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统3.PHP特性

PHP的特性包括PHP:

1、开放的源代码:

所有的PHP源代码事实上都可以得到。

2、PHP是免费的。

和其它技术相比,PHP本身免费。

3、php的快捷性程序开发快,运行快,技术本身学习快。嵌入HTML:因为PHP可以嵌入HTML语言,它相对于其他语言,编辑简单,实用性强,更适合初学者。

4、跨平台性强:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。

5、效率高:

PHP消耗相当少的系统资源。

6、图像处理:用PHP动态创建图像

7、面向对像:在php4,php5中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。

8、专业专注;

PHP支持脚本语言为主,同为类C语言。

4.技术应用集成安全程序

1,伪静态

2,静态页面生成

3,数据库缓存

4,过程缓存

5,div+cssw3c标准

6,大负荷

7,分布式

8,jquery框架集成

9,flex

10,桌面程序应用5.Windows下的PHP环境配置(一)软件需求:

Windows2000Professional;Apache1.3.19(apache_1.3.19-win32-src-r2.msi);PHP4.0.5(php-4.0.5-Win32.zip);MySQL3.23.38(mysql-3.23.38-win.zip)安装过程

1.将Apache1.3.19安装到C:\Web\apache\目录下。

2.将PHP4.0.5解压到C:\Web\php\目录下。

3.将MySQL3.23.38安装到C:\Web\mysql\目录下。

4.将C:\web\php\php4ts.dll文件拷贝到C:\WINNT\system32\目录下。

5.将C:\web\php\php.exel文件拷贝到C:\WINNT\目录下。

6.将C:\web\php\php.ini-dist文件拷贝到C:\WINNT\目录下,并将php.ini-dist更名为php.ini。7.运行C:\Web\apache\Apache\Apache.exe-i–n8.运行C:\Web\mysql\bin\mysqld-nt.exe--install9.编辑C:\WINNT\php.ini

找到“extension_dir=./”字段,将其改为extension_dir="C:\myphp\php\extensions"。10.运行C:\Web\apache\Apache\Apache.exe-i–n

Windows下的PHP环境配置(二)11.编辑C:\Web\apache\Apache\conf\httpd.conf

找到“#BindAddress*”字段将其改为BindAddress。(如果主机有固定IP地址,此处改为主机IP地址。如BindAddress06),找到“ServerName”字段,将其改为ServerNamelocalhost。(如主机有固定主机名,此处改为主机的主机名。如ServerNamebn001)。

找到“ScriptAlias/cgi-bin/"C:/Web/apache/Apache/cgi-bin/"”字段,在其下面加入ScriptAlias/php/"C:/Web/php/"。找到“#AndforPHP4.x,use:”字段,在其后面加入:

AddTypeapplication/x-httpd-php.php3AddTypeapplication/x-httpd-php.php4AddTypeapplication/x-httpd-php.phpAddTypeapplication/x-httpd-php.phtmlActionApplication/x-httpd-php"c:/Web/php/php.exe"

找到“#LoadModuleusertrack_modulemodules/mod_usertrackso”字段,LoadModulephp4_modulec:/web/php/sapi/php4apache.dll

PHP支持的数据库有那些PHP在数据库方面的丰富支持,也是它迅速走红的原因之一,它支持下列的数据库或是数据文件:

·AdabasDDBAdBasedbmfilePro·Informix·InterBase·mSQL·MicrosoftSQLServer·MySQL·Solid·Sybase·ODBC·Oracle8·Oracle·PostgreSQL而在Internet上它也支持了相当多的通讯协议(protocol),包括了与电子邮件相关的IMAP,POP3;网管系统SNMP;网络新闻NNTP;帐号共用NIS;全球信息网HTTP及Apache服务器;目录协议LDAP以及其它网络的相关函数。除此之外,用PHP写出来的Web后端CGI程序,可以很轻易的移植到不同的操作系统上。例如,先以Linux架的网站,在系统负荷过高时,可以快速地将整个系统移到SUN工作站上,不用重新编译CGI程序。面对快速发展的Internet,这是长期规划的最好选择。

PHP中的变量类型PHP有好多种变数;主要有这些:

-数字(integer-例:32)

-布尔值(boolean-例:TRUE)-字串(string-例:'astringoftext')-NULL-资源(resource)-数组(array-例:arrayname[2])-对象(object)PHP中的注释风格//comment/*comment*/#comment<html><head><title>Firstprogram</title></head><body><?phpecho"helloworld";

//echo“$a”;

?></body></html>

8PHP中的面向对象概念(一)抽象数据类型和信息封装、继承、多态。在PHP中是通过类来完成封装的:

<?php

classsomething(){

var$a;

functionsetA($a){

$this->a=$a;}

functiongetA(){

return$a;

}}$obj=newsomething();

$obj->setA(3);

$num=$obj->getA();

echo$num;?>PHP中的面向对象概念(二)继承

<?phpclassauthorextendssomething{var$y;functionsetY($v){$this->y=$v;}functiongetY(){return$this->y;}}?>

PHP现在还不支持多重继承,所以你不能从两个或两个以上类派生出新的类来。你可以在派生类中重定义一个方法,如果我们在"Another"类中重定义了getX方法,我们就不能使用"Something"中的getX方法了。如果你在派生类中声明了一个与基派同名的数据成员,那么当你处理它时,它将“隐藏”基类的数据成员。

PHP中的面向对象概念(三)多态是对象的一种能力,它可以在运行时刻根据传递的对象参数,决定调用哪一个对象的方法。例如,如果你有一个figure的类,它定义了一个draw的方法。并且派生了circle和rectangle类,在派生类中你覆盖了draw方法,你可能还有一个函数,它希望使用一个参数x,并且可以调用$x->draw()。如果你有多态性,调用哪个draw方法就依赖于你传递给这个函数的对象类型。多态性在象PHP这样的解释语言(想象一下一个C++编译器生成这样的代码,你应该调用哪一个方法?你也不知道你拥有的对象是什么类型的,好,这不是重点)是非常容易和自然的。所以PHP当然支持多态性。PHP中的构造函数<?phpclasssomething{

//var$a;

$a;

functionsomething($y){

$this->a=$a;}

functionsetA($a){$this->a=$a;}functiongetA(){return$a;}}

$obj=newsomething(6);?>

OOP的一个很好的机制是使用抽象类。抽象类是不能实例化,只能提供给派生类一个接口。设计者通常使用抽象类来强迫程序员从基类派生,这样可以确保新的类包含一些期待的功能

PHP中的模板引擎(一)SmartySmarty的特点是将模板编译成PHP脚本,然后执行这些脚本。很快,非常灵活。

HeyesTemplateClass

一个非常容易使用,但功能强大并且快速的模板引擎,它帮助你把页面布局和设计从代码中分离。

FastTemplate

一个简单的变量插值模板类,它分析你的模板,把变量的值从HTML代码中分离处理。

ShellPage

一个简单易用的类,可以让你的整个网站布局基于模板文件,修改模板就能改变整个站点。

STPSimpleTemplateParser

一个简单、轻量级并且易于使用的模板分析类。它可以从多个模板中组装一个页面,把结果页面输出到浏览器或者文件系统。

OOTemplateClass

一个你可以用在自己程序中的面向兑现的模板类。PHP中的模板引擎(二)SimpleTemplate

一个可以创建和结构化网站的模板引擎。它可以解析和编译模板。

bTemplate

短小但是快速的模板类,允许你把PHP逻辑代码从HTML修饰代码中分离。

Savant

一个强大且轻量级的PEAR兼容模板系统。它是非编译型的,使用PHP语言本身做为它的模板语言。

ETS-easytemplatesystem

可以使用完全相同数据重组模板的模板系统。

EasyTemplatePHP

适用于你的站点的一个简单但是强大的模板系统。

vlibTemplate

一个快速、全能的模板系统,它包含一个缓存和调试类。

AvanTemplate

多字节安全的模板引擎,占用很少系统资源。它支持变量替换,内容块可以设置显示或隐藏。

GrafxSoftware’sFastTemplate

一个修改版本的FastTemplate系统,它包括缓存功能,调试控制台以及沉默去除为赋值块。PHP中的模板引擎(三)TemplatePower

一个快速、简单、功能强大的模板类。主要功能有嵌套的动态块支持,块/文件包含支持以及显示/隐藏未赋值的变量。TagTemplate

这个库的功能被设计来使用模板文件,同时允许你从HTML文件检索信息。htmltmpl:templatingengine

一个适用于Python和PHP的模板引擎。它面向希望在项目中分离代码和设计的web应用开发人员。PHPClassforParsingDreamweavertemplates

一个分析Dreamweaver模板的简单类,被用于Gallery2和WordPress的自定义模块中。MiniTemplator(TemplateEngine)

针对HTML文件的一个紧凑型模板引擎。对于模板变量和块定义它具有简单的语法。其中块可以嵌套。PHP中的模板引擎(四)LayoutSolution

简化网站开发和维护。它拥有常用的变量和页面元素使你不需要重复做页面布局工作。CachedFastTemplate

它已经纳入FastTemplate,允许你缓存模板文件,甚至可以在分离的块内容上缓存不同的规格。TinyButStrong

一个支持MySQL,Odbc,Sql-Server和ADODB的模板引擎。它包含7个方法和两个属性。BrianLozier’sphpbasedtemplateengine

只有2K大小,非常快并且是面向对象设计。

WACT

一个从设计中分离代码的模板引擎。PHPTAL

一个PHP下面的XML/XHTML模板库。

PHP代码实例(一)HELLOWORLD<?php$str=“HelloWorld!”;echo$str;?>http://localhost//demo/hello.php在地址栏里输入时,就会出现HelloWorld!PHP代码实例(二)ifelseifelse的使用Isok.php

<?phpfunctionisOk($a){if($a==1){echo“itis”.$a;

}elseif($a==2){echo“itis”.$a;}else{echo“itis”.$a;}}echoisOk(2);?>

http://localhost:80/demo/isok.php

页面会输出itis2

PHP代码实例(三)switch的使用Ident扫描(IdentScanning)

<?phpfunctioncheck($n){switch($n){case0:$a=1;break;case1:$a=2;...casen:$a=n;default:$a=0;}echocheck(2);

}?>

常见Nmap扫描方式选项(Options)

除了以上这些扫描,Nmap还提供了无数选项.有一个是"-PT",,我们已经介绍过了.在目标机或网络上常见的未经过滤的端口,进行TCP"ping"扫描.

另一个选项是"-P0".在缺省设置下试图扫描一个端口之前,Nmap将用TCPping"和ICMPecho命令ping一个目标机,如果ICMP和TCP的探测扫描得不到响应,目标主机或网络就不会被扫描,即使他们是运行着的.而"-P0"选项允许在扫描之前不进行ping,即可进行扫描.

你应该习惯使用"-v"命令,它详细列出所有信息,能和所有的扫描选项一起使用.你能反复地使用这个选项,获得有关目标机的更多信息.

使用"-p"选项,可以指定扫描端口.比如,攻击者想探测你的web服务器的ftp(port21),telnet(port23),dns(port53),http(port80),想知道你所使用的操作系统,它将使用SYN扫描.

#nmap-sS-p21,23,53,80-O-v

Snort简介在1998年,MartinRoesch先生用C语言开发了开放源代码(OpenSource)的入侵检测系统Snort.直至今天,Snort已发展成为一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(NetworkIntrusionDetection/PreventionSystem),即NIDS/NIPS.Snort符合通用公共许可(GPL——GUNGeneralPubicLicense),在网上可以通过免费下载获得Snort,并且只需要几分钟就可以安装并开始使用它.snort基于libpcap。

snort系统组成:snort由三个重要的子系统构成:数据包解码器,检测引擎,日志与报警系统。

Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。Ntop简介Ntop是网络流量监控工具。其重要功能有以下这些:1、自动从网络中识别有用信息2、将截获的数据包转换成易于识别的格式3、对网络通信失败的情况进行分析4、探测网络环境中的瓶颈5、记录网络通信的时间和过程它可以通过分析网络流量来确定网络上存在的各种问题;也可以用来判断是否有黑客正在攻击网络系统;还可以很方便地显示出特定的网络协议、占用大量带宽的主机、各次通信的目标主机、数据包的发送时间、传递数据包的延时等详细信息。通过了解这些信息,网管员可以对故障做出及时的响应,对网络进行相应的优化调整,以保证网络运行的效率和安全。Nagios简介Nagios是一个在linux及unix环境下运行的监控系统和网络的应用程序,它监控您所指定的主机和服务,并在情况变得更糟或更好时提醒您注意。Nagios包括以下一些功能:1、监控网络服务(SMTP、POP3、HTTP、NNTP、PING等)2、监控主机资源(处理器负载、磁盘使用情况等)3、简单的插件设计允许用户可以很简易地开发它们自己的服务检查4、并行服务检查5、可以通过"parent"来定义网络主机的继承,可以检测和区分主机的当机状态和不可达状态6、在服务或主机产生问题和修复时获得通知(通过邮件、页面或用户定制的方式)7、可以在服务和主机事件运行期间定义事件处理器,以便主动解决问题。8、日志文件自动循环9、支持冗馀监控主机的实现10、可选的Web界面,该界面用于查看当前网络状态、通知和问题列表、日志文件等Nessus简介Nessus被认为是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用Nessus作为扫描该机构电脑系统的软件。Nessus的特色:*提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。*不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上摇控,进行系统的漏洞分析扫描。*其运作效能能随着系统的资源而自行调整。如果将主机加入更多的资源(例如加快CPU速度或增加内存大小),其效率表现可因为丰富资源而提高。*可自行定义插件(Plug-in)*NASL(NessusAttackScriptingLanguage)是由Tenable所开发出的语言,用来写入Nessus的安全测试选项。*完整支持SSL(SecureSocketLayer)。Nessus简易使用说明1.执行Nessus。2.在Plugins的选单画面中,选取您希望分析的漏洞的服务类型,例如拒绝服务式攻击(DoS)。3.在ScanOptions的菜单中,*PortRange:输入您希望扫描的端口(Port)范围*Optimizethetest:优化您的扫描程序。建议选取。其他选项建议保持默认。4.在TargetSelection选单当中,输入您希望扫描的主机IP地址5.按"StartScan"开始扫描TcpTrack简介Tcptrack是个能够显示特定端口上有关TCP连接的嗅探器,他会监视正在发生的所有的连接,并且以一种友好的界面显示相关信息。虽然他采用字符用户界面,却易于理解和查看。Tcptrack随目前流行的几种Linux发行版本打包发行。用户能http://www.rhythm.cx/%7Esteve/devel/tcptrack/下载其源码。它为我们提供了一个监视网络通信的方法,能提供的信息有如下几个方面:●源地址和端口●目标地址和端口●连接状态●空闲时间●带宽利用Tcptrack还具有过滤特性,他使用pcap过滤标准(和用于tcpdump标准相同)。Rrdtool简介所谓的“RoundRobin”其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。RRD存放数据类型可以适合时间序列的数据。就是说你必须能够在时间的几个点上度量某些值,并提供这些信息给RRDtool。如果你能够做到这一点,RRDtool就能够存储它们。这些数值必须是数字,但是不一定要是整数,在与MRTG合用时。RRDtool用途

RRDtool源自MRTG(多路由器流量绘图器)。MRTG是有一个大学连接到互联网链路的使用率的小脚本开始的。MRTG后来被当作绘制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论