PHP 如何有效防止 SQL 注入与 html 修改???? 在服务器端,取text的时候过滤下将接受到的<?php作为单词过滤掉。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将接受到的<?php作为单词过滤掉。但别人可以用 <?phP pHp PHp 之类的,很多的组合。如何用正则表达表来过滤????哪位大侠有没有现成的函数? guo lv yihou zai chun dao shujuku zhong 先用htmlspecialchars()处理再进数据库 先用htmlspecialchars()处理再进数据库那修改时呢??? 也许是我的表达不好,大家都没太明白我说的意思。是这样的。如一个用户的签名吧。我用 varchar(255)来保存。在界面上,我是用一个 textarea 如果这时有人在这个 textarea 中输入 </textarea><?php unlink('文件名'); ?>htmlspecialchars()处理再进数据库 把就是把 < 转成 < > 变成 >如果这时用户再修改签名。这时 一般用 htmlentities 再把字符串变回来。这时在这个 文件中就成了 <textarea name='fds'> </textarea><?php unlink('文件名'); ?></textarea>这样。这样会不会把文件给删了??? 直接输出文件内容,怎么会执行php代码呢 <textarea name='fds'> </textarea><?php unlink('文件名'); ?></textarea>--------------------------------因为第一个 </textarea> 就把这个 textarea 给关了。就算它不会执行这句 php ,但这时显示完全就乱了呀。 sql inject用intvalphp代码可以解吸吗 把< >替换成html的就是了 直接用htmlspecialchars就可以了啊 不会执行的呀,怎么会有危险呢??然后用htmlspecialchars过滤下 1.首先在保存数据之前将数据过滤,可以使用addslashes函数。2.输出数据的时候使用htmlspecialchars()函数,将其转换为html字符!example:一. $qry_sql=addslashes($_POST['username']); mysql_query($qry);二. <textarea><?php htmlspecialchars($str_content) ?></textarea>个人建议保存数据时保存原始数据,在显示的时候加以处理! 这个,呵呵至少我试验的结果代码没有执行阿,所以,可能楼主得到的信息有误。<style>body{font:12px verdana;}</style><PRE><?phpif($_POST['check']==1){$str = file_get_contents('t.txt');$securinfo = $str;echo ($str);echot ($securinfo);echo ('<BR>查看生成的html,可以发现没有执行,<BR>检查当前目录下,如果存在kaotest目录则表示语句执行了['.$securinfo.']');}else{$info = $_POST['info'];$securinfo = $info;//$securinfo = addslashes($info);$fp = fopen('t.txt','wb');fwrite($fp,$securinfo);}?><FORM METHOD=POST ACTION="?"><input type="hidden" name="check" value="1"><INPUT TYPE="submit" value="校验是否执行"></FORM><FORM METHOD=POST ACTION="?"><TEXTAREA NAME="info" ROWS="10" COLS="80"><?php echo '<?php mkdir("kaotest");echot("end come");?>';?></TEXTAREA><INPUT TYPE="submit"></FORM><?php function echot($str){echo '<TEXTAREA NAME="info" ROWS="10" COLS="80">'.$str.'</textarea>';}?> 正则 怎样学好php? Smarty模板的函数里面有变量,怎么写 请大家给我指点迷津 安全的IRC聊天服务器(SSL IRC) 【新新手问题】一个小小的问题,关于页面刷新... # 哪位有php 4.3.1 的 zip包?急用!100分相赠,谢谢! 急,急,,好乱的安装问题???????? PHP中显示数据的一个非常难题!! SWFUPLOAD发了三个帖子300分 问题还是没有解决 mysql5.0.X问题求救 php中如何达到vbscript中midb函数功能的
那修改时呢???
如一个用户的签名吧。我用 varchar(255)来保存。
在界面上,我是用一个 textarea
如果这时有人在这个 textarea 中输入 </textarea><?php unlink('文件名'); ?>
htmlspecialchars()处理再进数据库 把就是把 < 转成 < > 变成 >如果这时用户再修改签名。
这时 一般用 htmlentities 再把字符串变回来。这时在这个 文件中就成了
<textarea name='fds'>
</textarea><?php unlink('文件名'); ?>
</textarea>这样。这样会不会把文件给删了???
</textarea><?php unlink('文件名'); ?>
</textarea>--------------------------------因为第一个 </textarea> 就把这个 textarea 给关了。就算它不会执行这句 php ,但这时显示完全就乱了呀。
php代码可以解吸吗 把< >替换成html的就是了
然后用htmlspecialchars过滤下
2.输出数据的时候使用htmlspecialchars()函数,将其转换为html字符!example:
一.
$qry_sql=addslashes($_POST['username']);
mysql_query($qry);二.
<textarea><?php htmlspecialchars($str_content) ?></textarea>个人建议保存数据时保存原始数据,在显示的时候加以处理!
至少我试验的结果代码没有执行阿,所以,可能楼主得到的信息有误。<style>
body{font:12px verdana;}
</style>
<PRE>
<?phpif($_POST['check']==1){
$str = file_get_contents('t.txt');$securinfo = $str;echo ($str);echot ($securinfo);
echo ('<BR>查看生成的html,可以发现没有执行,<BR>检查当前目录下,如果存在kaotest目录则表示语句执行了['.$securinfo.']');}
else{
$info = $_POST['info'];
$securinfo = $info;
//$securinfo = addslashes($info);
$fp = fopen('t.txt','wb');
fwrite($fp,$securinfo);
}
?>
<FORM METHOD=POST ACTION="?"><input type="hidden" name="check" value="1">
<INPUT TYPE="submit" value="校验是否执行">
</FORM>
<FORM METHOD=POST ACTION="?"><TEXTAREA NAME="info" ROWS="10" COLS="80">
<?php echo '<?php mkdir("kaotest");echot("end come");?>';?>
</TEXTAREA>
<INPUT TYPE="submit">
</FORM><?php
function echot($str){
echo '<TEXTAREA NAME="info" ROWS="10" COLS="80">'.$str.'</textarea>';
}
?>