magic_quotes_gpc和magic_quotes_runtime

1、PHP中set_magic_quotes_runtime()函数的作用:
此函数来修改PHP.ini文件中的 magic_quotes_runtime 变量的状态,如果想获得magic_quotes_runtime 变量的状态用get_magic_quotes_runtime这个函数如果返回0表示本功能被关闭,如果返回1表示本功能已经开启。 magic_quotes_runtime的功能是当它被开启的时候所有外部引入的数据库资料或者文件等等都会自动转为含有反斜线溢出字符的资料。比如:用户向数据库提交的数据中含有\" '这些符号的时候它就会在这些符号的前面自动加上"\"转义符。
这个属性在PHP4以前的版本都是默认关闭的,PHP4.0以后的版本如果程序要用到将它关闭的时候直接写成set_magic_quotes_runtime(0)将其关闭。

2.get_magic_quotes_gpc函数作用:

此函数取得 PHP 环境配置的变量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示关闭本功能;返回 1 表示本功能打开。当

magic_quotes_gpc 打开时,所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符会自动加上转义符\;

默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

其实这个函数就是判断有PHP有没有自动调用addslashes 这个函数,


区别:

1.magic_quotes_runtime 可以通过set_magic_quotes_runtime()和 get_magic_quotes_runtime() 来进行设置和读取 ; magic_quotes_gpc() 只可以通过get_magic_quotes_gpc()来读取 没有set_magic_quotes_gpc()这样的函数 也不能通过ini_set('magic_quotes_gpc',1) 这样来设置 他只能通过手动在php.ini文件中修改;

2 magic_quotes_gpc 处理的是post \get\cookie 传递过来的内容

magic_quotes_rumtime 处理的是数据库 或文件中的内容


set_magic_quotes_runtime() 和 get_magic_quotes_runtime() 是


get_magic_quotes_gpc会将Get/Post/Cookie中所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符加上反斜杠转义。

get_magic_quotes_runtime设置为on的时候会将数据库中取出来的 ' (单引号), " (双引号), \ (反斜线)这些字符加上反斜杠转义。

get_magic_quotes_gpc并不能通过程序来关闭 ,get_magic_quotes_runtime可以通过程序来关闭,set_magic_quotes_runtime(0)并不就是关闭了魔法引用,Get/Post/Cookie中的数据还是会被转义的(如果gpc开着在的话),设置这个是取数据的时候强制关闭着,防止取出的时候被再次转义。

如果get_magic_quotes_gpc开着就不要在mysql_escape_string 或者mysql_real_escape_string或者addslashes了,防止多次转义,但是对于用户的输入转义是必须要使用的,无论你是addslashes还是mysql_escape_string还是get_magic_quotes_gpc自动处理甚至是使用str_replace或正则替换都行。但一次就够了。

使用GitLab的方法可以分为以下几个步骤: 1. 创建项目:在GitLab上创建一个新的项目,可以选择从头开始创建或者导入已有的项目。 2. 分配开发任务:将开发任务分配给相应的开发人员。开发人员可以通过fork项目来创建自己的工作副本。 3. 配置开发环境:开发人员需要配置自己的用户名和邮箱,可以使用以下命令进行配置: - 局配置:`git config --global user.name "Your Name"`和`git config --global user.email "your.email@example.com"` - 临时配置:在本地repository目录下使用`git config --local user.name "Your Name"`和`git config --local user.email "your.email@example.com"`命令进行配置。 4. 配置SSH连接信息:为了进行安的远程操作,可以配置SSH密钥。可以使用以下命令生成密钥: `ssh-keygen -t rsa -C "your.email@example.com"` 5. 开发代码:开发人员可以使用常规的Git命令进行代码的修改、提交和推送。例如: - 添加文件到暂存区:`git add file.txt` - 提交修改:`git commit -m "commit message"` - 推送到远程分支:`git push -u origin branch_name` 6. 管理开发过程:通过GitLab的界面可以查看项目的代码提交历史、合并请求、问题跟踪等功能来管理开发过程。 7. 标识任务完成:当开发任务完成后,可以将代码合并到主分支,并在GitLab上标识任务为已完成。 总结来说,使用GitLab可以通过创建项目、分配任务、配置开发环境、开发代码、管理开发过程和标识任务完成等步骤来进行项目的完整开发管理。 #### 引用[.reference_title] - *1* *2* *3* [gitlab使用详解](https://blog.youkuaiyun.com/Freedom_hzw/article/details/103919221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值