php安全简析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php安全简析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1654字,纯文字阅读大概需要3分钟。
内容图文
![php安全简析](/upload/InfoBanner/zyjiaocheng/194/8ac49022ffe745aa99d2262ba1db67ae.jpg)
1> 原则
深度防范
最小权限
简单就是美
暴露最小化
2>方法
平衡风险与可用性
跟踪数据
过滤输入
输出转义
//****防止表单提交骗术
session_start();
$_SESSION['token'] = md5(uniqid(mt_rand(), true));
//*****初始化一个用于保存过滤数据数组。
$clean = array();
if(ctype_alpha($_POST['name'])){
$clean['name'] = $_POST['name'];
}else{
//错误
}
//****避免跨站点脚本
/*使用真确的字符编码*/
header('Content-Type:text/heml; charset=UTF-8');
/*为保存转义后的数据初始化一个数组*/
$html = array();
$html['username'] = htmlentities($clean['username'], ENT_QUOTES,'UTF-8');
//****避免SQL注入
/*使用PDO之类的数据库来针对你的数据库进行适当的转义*/
$db = new PDO('mysql:host=localhost;dbname=users',$_SERVER['DB_USER'],$_SERVER['DB_PASSWORD']);
$statement = $db->prepare("INSERT INTO user (username, password) VALUES (:username, :password)");
$statement->bindParam(':username',$clean['username']);
$statement->bindParam(':password',$clean['password']);
$statement->execute();
$db = NULL;
安全的 PHP 表单处理代码
$okay = 0; $username = $_POST['user']; $pw = $_POST['pw']; $sql = "select count(*) as ctr from users where username='".mysql_real_escape_string($username)."' and password='". mysql_real_escape_string($pw)."' limit 1"; $result = mysql_query($sql); while ($data = mysql_fetch_object($result)){ if ($data->ctr == 1){ //they're okay to enter the application! $okay = 1; } } if ($okay){ $_SESSION['loginokay'] = true; header("index.php"); }else{ header("login.php"); } ?> |
//****将密码置于站点文件外部
mysql_connect('localhost' , $_SERVER['DB_USER'], $_SERVER['DB_PASSWORD']);
内容总结
以上是互联网集市为您收集整理的php安全简析全部内容,希望文章能够帮你解决php安全简析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。