zoukankan      html  css  js  c++  java
  • PHP 判断是否为空的函数/XSS跨站过滤

    isset() 这个函数用于判断值是否为空。返回的是true 和 false.

    XSS过滤这里需要自己进行处理,在网上搜了一下代码。具体好不好用还不清楚。

    感觉有点复杂,不过还是稳步向前比较好,在入口上需要费点功夫。。

    把正在研究的发出来把。。。欢迎指教,当然,也希望有人能够回复下。提点下,谢谢!

    登录表单如下:

    <html>
        <head>
            <title>Report Login</title>
        </head>
        <body>
            <form method="post" action="inc/check.php" >
                UserName:<input type="text" name="username" /><br />
                PassWord:<input type="password" name="password" /><br />
                <input type="submit" />
            </form>
        </body>
    </html>

    PHP验证过滤(目前还有问题):

    smart@smart:/var/www/login$ cat inc/check.php 
    <?php
        $username=$_POST['username'];
        $password=$_POST['password'];
        if(isset($username) ){
            header("location: ../login.php");
        }else{
            uh($username);
            uh($password);
            header("location: ../admin/index.php");
        }
            
    
        function uh($str){
        $farr = array(
            "/\s+/", 
            "/< (\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%) ([^>]*?)>/isU", 
            "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", 
       );
       $tarr = array(
            " ",
            "锛淺\1\\2\\3锛�", 
            "\\1\\2",
       );
    
      $str = preg_replace( $farr,$tarr,$str);
       return $str;
    } 
    ?>
    smart@smart:/var/www/login$ 
  • 相关阅读:
    jsfl学习
    反射的小例子
    Tsql 递归构造连续日期序列
    无法远程链接sqlserver的解决办法
    ubuntu下安装中文输入法ibus
    vs2008设置为这个背景色
    由于登陆失败而无法启动服务mssqlserver无法启动的问题
    配置solr
    笔记本无法检测到无线信号的终极解决方案
    win7 asp.net 配置iis
  • 原文地址:https://www.cnblogs.com/xiaoCon/p/2993459.html
Copyright © 2011-2022 走看看