• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php函数的学习笔记

php 搞代码 4年前 (2022-01-22) 15次浏览 已收录 0个评论

这篇文章介绍的内容是关于php函数的学习笔记 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

$_SERVER["PHP_SELF"] 一种超全局变量。返回当前执行脚本的文件名。
htmlspacialchars(var) 把特定字符转换为HTML实体。可防止攻击者通过在表单中注入HTML或JavaScript代码(跨站点脚本攻击)对代码进行利用。

应用:$_SERVER["PHP_SELF"]变量能够被黑客利用。如果你的页面使用了PHP_SELF,用户能够输入下划线然后执行跨站点脚本(XSS)。

提示:跨站点脚本(Cross-site scripting,XSS)是一种计算机安全漏洞类型,常见于web应用程序。XSS能够使攻击者向其他用户浏览的网页中输入客户端脚本。

例:test.php页面中有表单:

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

如果地址栏中是正常URL:hhtp://www.example.com/test.php,上面代码会转换为:

<form method="post" action="test.php">

一旦输入:http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E,上面代码会转换成:

<form method="post" action="test.php"/><script>alert('hacked');</script>

使用htmlspecialchars()函数避免上述情况,表单代码:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

这时输入http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E,上面代码会转换成:

<form method="post" action="test.php/"><script>alert('hacked')</script>"

无法利用,没有伤害。

trim(var) 取出多余的空格、制表符、换行
stripslashes(var) 删除反斜杠(\)
$_SERVER["REQUEST_METHOD"]
empty(var) 判断变量是否已经赋予数据且不为空。‘’、null、false、00、0、'0'、未定义、array()、var $var都返回true。
isset(var[,var[,…]]) 检测变量是否已经声明。未定义变量返回true。unset一个变量后,变量被取消了。
is_null(var) 检查值、变量、表达式是否为null。未定义变量传入也会返回true,但是会报错!
defined(var) 检测常量是否已经声明。

1、empty、isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null只是直接检查变量值,是否为null。

2、empty、isset输入参数必须是一个变量,而is_null输入参数只要是能够有返回值就可以(常量,变量,表达式等)。在php手册本文来源gaodai#ma#com搞@@代~&码*网/搞gaodaima代码里,对于他们解析是:empty,isset是一个语言结构而非函数,因此它无法被变量函数调用。

preg_match(正则表达式,变量) 检索字符串的模式,如果模式存在则返回true,否则返回false。

相关推荐:

10个鲜为人知但非常有用的PHP函数

php函数不定义参数方法

以上就是php函数的学习笔记的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php函数的学习笔记

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址