什么是CR和LF

如题所述

CR:Carriage Return,对应ASCII中转义字符\r,表示回车

LF:Linefeed,对应ASCII中转义字符\n,表示换行

CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行

扩展资料:

最基本的例子包括向记录文件中增加伪造的记录。也就是说,有安全漏洞的应用程序把一个用户输入的内容写到系统记录文件中。攻击者可以提供如下输入内容:

Testing123MYSQL DATABASE ERROR: TABLE CORRUPTION

当系统管理员在早上查看他的纪录时,他可能会用很多时间排除一个根本就不存在的故障。狡猾的攻击者在攻击系统的另一部分时,可以使用这种特洛伊木马分散管理员的注意力。

参考资料来源:百度百科—CRLF

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-13

CR:Carriage Return,对应ASCII中转义字符\r,表示回车

LF:Linefeed,对应ASCII中转义字符\n,表示换行

CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行

Windows操作系统采用两个字符来进行换行,即CRLF;Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行;另外,MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行。

在很久以前的机械打字机时代,CR和LF分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变;CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还是在同一行。

扩展资料:

CR和LF是在计算机终端还是电传打印机的时候遗留下来的东西。电传打字机就像普通打字机一样工作。在每一行的末端,CR命令让打印头回到左边。

LF命令让纸前进一行。虽然使用卷纸的终端时代已经过去了,但是,CR和LF命令依然存在,许多应用程序和网络协议仍使用这些命令作为分隔符。

攻击者在搜索安全漏洞的时候没有忽略很少使用的CRLF。攻击者可以通过在一段数据中加入CRLF命令来改变接受这个数据的应用程序处理这个数据的方式,从而执行CRLF注入攻击。

参考资料来源:百度百科——CRLF

本回答被网友采纳
第2个回答  推荐于2017-09-13
LF意思是linefeed,换行,\n,ASCII码为10
当你用一个打字机的时候,asdfghjkl;'右边的那个按钮(在计算机键盘上,就对应着那个Enter键)被按下的时候,打字机的纸张卷动一行,而纸张的水平位置并不变化。打字机上另外还有一个手柄,那个手柄是专用来回车的,向左搬动那个手柄的时候,装纸的结构被松开,在弹簧的作用下弹回最右边(相当于打印头回到最左边)。
所以当我们要换行的时候,实际需要两步操作,回车+换行(或者反过来),所以,在VB(含VBScript)里面有一个字符串常量叫做vbCrLf,意思就是回车+换行。CR+LF也是多种协议规定的标准行结束符(RFC0821-SMTP,RFC1939-POP,RFC2060-IMAP,RFC2616-HTTP),在DOS和Windows中,需要另起一行的时候也需要这两个字符。
在Windows的记事本中创建一个文档,直接保存的话你会发现这个文件大小是0字节(保存为ANSI编码),然后,打开这个文件,敲入一个回车符,保存,你会发现这个文件的大小变成了2字节。
但是,为什么在C语言里面只用LF(\n)就可以换行呢?因为C语言的出现就是为了写UNIX操作系统,而UNIX操作系统中以LF为行结束符,并且自动加上那个CR,以便节省一个字节的长度(这样做在当时存储容量不大的计算机上确实是有意义的,而为了不断兼容,到现在这个规定也没有改变)。在C语言中,运行库会在显示时把LF自动转换为CR+LF(注意是运行库,而不是编译器,所以即使打开EXE文件,找到对应的位置,只能找到一个0x0A的LF,而没有CR)。本回答被提问者采纳
第3个回答  2019-11-13
相似回答