addslashes的一些问题

至于宽字节注入,有人写过,我就不多写了:

https://www.91ri.org/8611.html

http://netsecurity.51cto.com/art/201404/435379_4.htm

针对iconv()函数,我就试着写了个utf-8和gbk的url编码转换

import os,urllib
print"""if u want change gbk to utf-8,please input gbk,so as input utf-8.
input exit and exit,others make u try agin"""
st = raw_input()
def utf8cwgbk(st):
    if st=="utf-8":
        print "input string"
        url1 = raw_input()
        st1 = urllib.unquote(url1)
        st2 = st1.decode("utf-8").encode("gbk")
        url2 = urllib.quote(st2)
        print """utf-8的url编码---gbk的url编码---utf-8的汉字---gbk的汉字"""
        print url1,‘---‘,url2,‘---‘,st1,‘---‘,st2
        os.system(‘pause‘)
    if st=="gbk":
        print "input string"
        url1 = raw_input()
        st1 = urllib.unquote(url1)
        st2 = st1.decode("gbk").encode("utf-8")
        url2 = urllib.quote(st2)
        print """utf-8的url编码---gbk的url编码---utf-8的汉字---gbk的汉字"""
        print url1,‘---‘,url2,‘---‘,st2,‘---‘,st1
        os.system(‘pause‘)
    if st=="exit":
        os.system(‘exit‘)
    else:
        print"""please try again.if u want change gbk to utf-8,please input gbk,else input utf8,finally input exit"""
        st = raw_input()
        utf8cwgbk(st)
if __name__=="__main__":
    utf8cwgbk(st)
时间: 2024-10-15 00:17:41

addslashes的一些问题的相关文章

htmlentities,html_entity_decode,addslashes

PHP htmlspecialchars_decode() 函数 PHP htmlspecialchars() 函数 PHP html_entity_decode() 函数 PHP中混淆的三组函数总结(htmlentities,html_entity_decode,addslashes)

PHP函数 mysql_real_escape_string 与 addslashes 的区别

addslashes 和 mysql_real_escape_string 都是为了使数据安全的插入到数据库中而进行的过滤,那么这两个函数到底是有什么区别呢? 首先,我们还是从PHP手册入手: 手册上addslashes转义的字符是单引号(').双引号(").反斜线(\)与NUL(NULL 字符). mysql_real_escape_string转义的字符并没有被提到,只是说了一句: 注意:mysql_real_escape_string() 并不转义% 和_. 为什么PHP手册没有说呢?因为

PHP函数addslashes和mysql_real_escape_string的区别

转自:http://www.jb51.net/article/49205.htm 这篇文章主要介绍了PHP函数addslashes和mysql_real_escape_string的区别,以及一个SQL注入漏洞介绍,需要的朋友可以参考下 首先:不要使用mysql_escape_string,它已被弃用,请使用mysql_real_escape_string代替它. mysql_real_escape_string和addslashes的区别在于: 区别一: addslashes不知道任何有关My

magic_quotes_gpc、mysql_real_escape_string、addslashes的区别及用法

本篇文章,主要先重点说明magic_quotes_gpc.mysql_real_escape_string.addslashes 三个函数方法的含义.用法,并举例说明.然后阐述下三者间的区别.关系.一.magic_quotes_gpc这个函数,只有在页面传递 $_GET,$_POST,$_COOKIE 时才会发生作用,主动进行调用,在web客户端执行.对传递的字符串是否进行转义处理.用法: magic_quotes_gpc=on/off; (当为on时,主动对字符串进行转义处理,即添加转义斜线=

php get_magic_quotes_gpc() addslashes()

最近学了学PHP,看到这段代码 function daddslashes($str){       return (!get_magic_quotes_gpc())?addslashes($str):$str;   } 发现get_magic_quotes_gpc())和addslashes()函数不太熟悉,就查了下资料,如下: get_magic_quotes_gpc();就是取得php环境变量magic_quotes_gpc的值.如果值为1时,表示开启:如果为0时,表示该配置关闭! get_

addslashes,stripslashes

官方介绍: (PHP 4, PHP 5) addslashes — 使用反斜线引用字符串 返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线.这些字符是单引号(’).双引号(”).反斜线(\)与 NUL(NULL 字符). PHP 5.4 之前 PHP 指令 magic_quotes_gpc 默认是 on, 实际上所有的 GET.POST 和 COOKIE 数据都用被 addslashes() 了. 不要对已经被 magic_quotes_gpc转义过的字符串使用 addsl

PHP关于反斜杠处理函数addslashes()和stripslashes()的用法

http://yangjunwei.com/a/589.html PHP自带的库函数 addslashes() 和 stripslashes() 都属于字符串处理类函数,作用正好相反: addslashes():对输入字符串中的某些预定义字符前添加反斜杠,这样处理是为了数据库查询语句等的需要.这些预定义字符是:单引号 (') ,双引号 (") ,反斜杠 (\) ,NULL. stripslashes():删除由 addslashes() 函数添加的反斜杠.该函数用于清理从数据库或 HTML 表单

php中htmlspecialchars()函数和addslashes()函数的使用和区别

在防止被注入攻击时,常会用到两个函数:htmlspecialchars()和addslashes()函数.这两个函数都是对特殊字符进行转义. 1)addslashes()作用及使用 addslashes()通常用于防止sql注入,它可对通过get,post和cookie传递过来的参数的单引号和双引号已经null前加“\”进行转义 如:如变量$str=$_POST["str"];的值为:bb' or 1='1.通过addslashes()函数过滤后会变为:bb\' or 1=\'1: 2

addslashes 及 其他 清除空格的方法是不安全的

清除空格的方法是不安全的,部分原因是因为字符中的空格非常多,例如 "addslashes的问题在 于黑客 可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会 被看作是单引号,所以addslashes无法成功拦截." 最好是按照具体的参数需求校验确定是 int 等不是,外加数据库的参数操作方法.其实这个是数据库的 sql 问题,应该从源头数据库本身来解决,只不过有些数据库滑提供相应的方法罢了.

php stripslashes和addslashes的区别

我们在向mysql写入数据时,比如: mysql_query("update table set `title`='kuhanzhu's blog'"); 那就会出错.同asp时一样,数据库都会对单引号过敏.而addslashes在这个时候就最长面子了,跟asp的replace(”‘”,”””,”kuhanzhu's blog”)功能一样. PHP为了安全性,所以引入了个magic_quotes_gpc = On的功能,可以不需要做任何处理就能直接把单引号插入数据库中,那么对于Off时