php安全之直接用$获取值而不$_GET 字符转义
<?
function my_addslashes($string, $force = 0) {
!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
if(!MAGIC_QUOTES_GPC || $force) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = my_addslashes($val, $force);
}
} else {
$string = addslashes($string);
}
}
return $string;
}
foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
foreach($$_request as $_key => $_value) {
$_key{0} != '_' && $$_key = my_addslashes($_value);
}
}
echo $urls;
?>
相关推荐
-
php sprintf()函数让你的sql操作更安全
$bookSQL=sprintf("UPDATE book SET pass=%s WHERE id=%d", GetSQLValueString($_POST['list'], "text"), GetSQLValueString($_GET['id'],"int")); GetSQLValueString 这个函数,可以换成
-
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
浅谈Php安全和防Sql注入,防止Xss攻击,防盗链,防CSRF 前言: 首先,笔者不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记.细心总结文章,里面有些是我们phper不易发现或者说不重视的东西.所以笔者写下来方便以后查阅.在大公司肯定有专门的web安全测试员,安全方面不是phper考虑的范围.但是作为一个phper对于安全知识是:"知道有这么一回事,编程时自然有所注意". 目录: 1.php一些安全配置(1)关闭php提示错误功能(2)关闭一些"坏
-
脚本安全的本质_PHP+MYSQL第1/3页
一 前言 问题的存在 从代码级别上,也就是应用层次上考虑代码安全的话(也就是不考虑底层的语言本身等问题的漏洞),脚本安全问题就是函数和变量的问题.变量直接或者间接的接收用户不安全的的输入,由于php本身的特性,在php中更容易发现这种变量的混乱(很多php程序都用来定义以及初始化以及接收变量,可以直接在程序中使用$id这样的变量,初始化完全由php的设置来完成,如果稍不注意,就可能导致变量的混乱从而导致攻击). 变量接收不安全的输入之后,没有做恰当的过滤又用在不同的地方,就可能造成不同的危害.如
-
php安全开发 添加随机字符串验证,防止伪造跨站请求
yahoo对付伪造跨站请求的办法是在表单里加入一个叫.crumb的随机串:而facebook也有类似的解决办法,它的表单里常常会有post_form_id和fb_dtsg. 比较常见而且也很廉价的防范手段是在所有可能涉及用户写操作的表单中加入一个随机且变换频繁的字符串,然后在处理表单的时候对这个字符串进行检查.这个随机字符串如果和当前用户身份相关联的话,那么攻击者伪造请求会比较麻烦.现在防范方法基本上都是基于这种方法的了 随机串代码实现 咱们按照这个思路,山寨一个crumb的实现,代码如下: 复
-
PHP的SQL注入实现(测试代码安全不错)
SQL注入的重点就是构造SQL语句,只有灵活的运用SQL 语句才能构造出牛比的注入字符串.学完之后写了点笔记,已备随时使用.希望你在看下面内容时先了 解SQL的基本原理.笔记中的代码来自网络. ===基础部分=== 本表查询: http://127.0.0.1/injection/user.php?username=angel' and LENGTH(password)='6 http://127.0.0.1/injection/user.php?username=angel' and LEFT
-
PHP魔术引号所带来的安全问题分析
PHP通过提取魔术引号产生的"\"字符会带来一定的安全问题,例如下面这段代码片段: // foo.php?xigr='ryat function daddslashes($string, $force = 0) { !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); if(!MAGIC_QUOTES_GPC || $force) { if(is_array
-
PHP安全的URL字符串base64编码和解码
如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址.下面的方法可以解决该问题: URL安全的字符串编码: 复制代码 代码如下: function urlsafe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data;
-
解析php安全性问题中的:Null 字符问题
由于 PHP 的文件系统操作是基于 C 语言的函数的,所以它可能会以您意想不到的方式处理 Null 字符. Null字符在 C 语言中用于标识字符串结束,一个完整的字符串是从其开头到遇见 Null 字符为止. 以下代码演示了类似的攻击:Example #1 会被 Null 字符问题攻击的代码 复制代码 代码如下: <?php$file = $_GET['file']; // "../../etc/passwd\0"if (file_exists('/home/wwwrun/'.$
-
php安全之直接用$获取值而不$_GET 字符转义
复制代码 代码如下: <? function my_addslashes($string, $force = 0) { !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); if(!MAGIC_QUOTES_GPC || $force) { if(is_array($string)) { foreach($string as $key => $val) { $str
-
js遍历json对象所有key及根据动态key获取值的方法(必看)
实例如下: var obj = {}; for(var k in obj) { //遍历对象,k即为key,obj[k]为当前k对应的值 console.log(obj[k]); } 以上这篇js遍历json对象所有key及根据动态key获取值的方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
JavaScript中无法通过div.style.left获取值的解决方法
一.问题总结: 样式必须直接写在元素内部才能通过div.style.left直接获取属性值(也就是必须是内联样式才行),定义在css中的样式不能通过这种方式获取. 让元素移动到200停止 setTimeout ( function () { var div = document.getElementById("div4"); //var left = parseInt(div.style.left) + 5; var left = div.offsetLeft + 5; div.sty
-
jQuery根据表单name获取值的方法
本文实例讲述了jQuery根据表单name获取值的方法.分享给大家供大家参考,具体如下: 根据name取值: $("input[name='mobile']").val() 根据id取值: $("#mobile_reg_form").html() 根据name取值遍历: $("input[name='mobile']").each( function(){ alert($(this).val()); } ) 取出form中的input: <
-
easy ui datagrid 从编辑框中获取值的方法
如下所示: var editors = $('datagrid的id').datagrid('getEditors', rowIndex); //rowIndex 行编号,从0算起 console.info(editors[0].target.val()); 以上这篇easy ui datagrid 从编辑框中获取值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
jquery动态添加文本并获取值的方法
实例如下: $(function() { var i = 1; $('#addText').click(function() { if (i < 9) { $('#main').append('<div><input type="text" name="text" + i + ""/> <a href="#" mce_href="#" class="del-te
-
jQuery循环遍历子节点并获取值的方法
本文实例讲述了jQuery循环遍历子节点并获取值的方法.分享给大家供大家参考,具体如下: Html代码部分: <div class="left_tree_ad_btn_container"> <ul> <li class="tree_ad_btn_bg"><img src="/images/insurance/3lianad_small.jpg" /> </li> </ul>
-
C#后台创建控件并获取值的方法
本文实例讲述了C#后台创建控件并获取值的方法.分享给大家供大家参考.具体实现方法如下: 前台代码: 复制代码 代码如下: <form id="form1" runat="server"> <div> <div class="item"> Please input a number: <asp:TextBox runat="s
-
java反射遍历实体类属性和类型,并赋值和获取值的简单方法
实例如下: import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Date; /** * 获取实体类型的属性名和类型 * @param model 为实体类 * @author kou 为传入参数 */ public class GetModelNameAndType { public
-
微信小程序传值以及获取值方法的详解
微信小程序传值以及获取值方法,传值有两种方法,对应也有获取值得方法, 1.设置id的方法标识跳转后传递的参数值: 2.通过使用data - xxxx 的方法来标识要传递的值 微信小程序设置id的方法标识来传值 在要跳转的item处,设置一个id并给当前的id赋值上对应的key值,比如一部电影的id(后面带着id去下一个页面查询,详细信息)如: 后我们在js的bindtap的响应事件中获取,并传递到下一个界面中: 获取到id传的值 通过e.currentTarget.id;获取设置的id值,并通过
随机推荐
- 备份文件并上传至FTP服务器的bat代码
- SQL Sever2008r2 数据库服务各种无法启动问题的解决办法(详解)
- python实现批量转换文件编码(批转换编码示例)
- asp.net 常用字符串处理方法
- .net 日志系统解析
- CakePHP去除默认显示的标题及图标的方法
- TP3.2批量上传文件或图片 同名冲突问题的解决方法
- 与MSSQL对比学习MYSQL的心得(五)--运算符
- PHP之autoload运行机制实例分析
- Android 加载GIF图最佳实践方案
- 全面解析Bootstrap排版使用方法(文字样式)
- 让IE6支持min-width和max-width的方法
- 用PHP实现小写金额转换大写金额的代码(精确到分)
- javascript入门之string对象【新手必看】
- Android实战教程第八篇之短信备份
- Java编程之内置观察者模式实例详解
- jQuery实现切换隐藏与显示同时切换图标功能
- springboot 高版本后继续使用log4j的完美解决方法
- Java并发系列之AbstractQueuedSynchronizer源码分析(独占模式)
- PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】