• 技术文章 >后端开发 >php教程

    php函数的学习笔记

    不言不言2018-04-17 15:57:09原创1071
    这篇文章介绍的内容是关于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手册里,对于他们解析是:empty,isset是一个语言结构而非函数,因此它无法被变量函数调用。

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

    相关推荐:

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

    php函数不定义参数方法



    php入门到就业线上直播课:查看学习

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

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php 笔记 学习
    上一篇:phpstudy虚拟域名配置 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 工具包分享:PHP实现滑块验证图片• Symfony2函数用法实例分析,symfony2实例分析_PHP教程• Drupal读取Excel并导入数据库实例_PHP教程• PHP中的SimpleXML处理_PHP教程• PHP页面跳转与跨站提交伪造Referer地址来源_PHP教程
    1/1

    PHP中文网