PHP安全

HTTP认证:

HTTP认证的基本思想是,服务器会“扣留”一个受保护的Web页面,然后要求浏览器向用户询问要给用户名和口令。如果用户正确的输入了用户名和口令,浏览器会继续发送页面。

具体操作的话,是用php,在PHP脚本中使用内置的header()函数将首部从服务器发送到浏览器:header('Content-Type: text/heml');header()函数会立即从服务器向流啊篮球发送一个首部,而且这个函数必须在向浏览器发送任何具体内容之前调用。这是一个非常严格的要求,如果在受不值钱即使只是发送了一个祖父或空格,浏览器也会拒绝并报错。出于这个原因,header函数调用应当放在php的所有html代码之前。首部的一些功能如下代码所示

header('Location: http://www.caozhicong.com');  //接受到这个首部时会重定向到后面的页面。

header('Refresh: 5; url=http://www.caozhicong.com');  // 浏览器在5秒后重定向到指定页面,这个首部称为一个刷新首部,因为它会在经过一个时间段之后刷新页面。通常这种首部的URL会引用当前页面,从而实现自我刷新。

header('Content-Type: text/plain'); //内容向首部。内容作为纯文本传送到浏览器。

一段完整的php首部代码

<?php
    $username='rock';
    $password='roll';
    if(!isset($_SERVER['PHP_AUTH_USER']||!isset($_SERVER['PHP_AUTH_PW'])||($_SERVER['PHP_AUTH_USER']!=$username)||($_SERVER['PHP_AUTH_PW']!=$password))
    {
        header('HTTP/1.1 401 Unauthorized');
        header('WWW-Authenticate: Basic realm="Guitar Wars"');
        exit('<h2>some</h2>Sorry, you must enter a valid user name and password to access this page.');
    }
?>

ALTER TABLE guitarwars ADD COLUMN approved TINYINT;//添加一个列

SELECT * FROM guitarwars WHERE approved=1 ORDER BY score DESC, date ASC;

(--)SQL中的注释,双子号后面跟有一个空格的--就能起作用,空格之后的所有内容将呗忽略:SQL注入攻击。

trim()函数可以很容易的去除前导或末尾的空格。mysqli_real_escape_string(),它会将可能有危险的字符进行转义,结合起来防止SQL注入攻击

$name=mysqli_real_escaps_string($dbc,trim($_POST['name']));//mysqli_real_escape_string()被认为是一个数据库函数,正因如此,需要为它传入一个数据库链接变量,即提交查询时使用数据库链接。

ALTER TABLE guitarwars MODIFY COLUMN approved TINYINT DEFAULT 0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值