亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ch09_01.htm

?? 用perl編寫CGI的好書。本書從解釋CGI和底層HTTP協(xié)議如何工作開始
?? HTM
字號(hào):
<?label 9. Sending Email?><html><head><title>Sending Email (CGI Programming with Perl)</title><link href="../style/style1.css" type="text/css" rel="stylesheet" /><meta name="DC.Creator" content="Scott Guelich, Gunther Birznieks and Shishir Gundavaram" /><meta scheme="MIME" content="text/xml" name="DC.Format" /><meta content="en-US" name="DC.Language" /><meta content="O'Reilly & Associates, Inc." name="DC.Publisher" /><meta scheme="ISBN" name="DC.Source" content="1565924193L" /><meta name="DC.Subject.Keyword" content="stuff" /><meta name="DC.Title" content="CGI Programming with Perl" /><meta content="Text.Monograph" name="DC.Type" /></head><body bgcolor="#ffffff"><img src="gifs/smbanner.gif" alt="Book Home" usemap="#banner-map" border="0" /><map name="banner-map"><area alt="CGI Programming with Perl" href="index.htm" coords="0,0,466,65" shape="rect" /><area alt="Search this book" href="jobjects/fsearch.htm" coords="467,0,514,18" shape="rect" /></map><div class="navbar"><table border="0" width="515"><tr><td width="172" valign="top" align="left"><a href="ch08_06.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0" /></a></td><td width="171" valign="top" align="center"><a href="index.htm">CGI Programming with Perl</a></td><td width="172" valign="top" align="right"><a href="ch09_02.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr></table></div><hr align="left" width="515" /><h1 class="chapter">Chapter 9. Sending Email</h1><div class="htmltoc"><h4 class="tochead">Contents:</h4><p><a href="ch09_01.htm">Security</a><br><a href="ch09_02.htm">Email Addresses</a><br><a href="ch09_03.htm">Structure of Internet Email</a><br><a href="ch09_04.htm">sendmail</a><br><a href="ch09_05.htm">mailx and mail</a><br><a href="ch09_06.htm">Perl Mailers</a><br><a href="ch09_07.htm">procmail</a><br></p></div><p>One of the most common tasks your <a name="INDEX-1802" /><a name="INDEX-1803" />CGIscripts need to perform is sending email. Email is a popular methodfor exchanging information between people, whether that informationcomes from other people or from automated systems. You may need tosend email updates or receipts to visitors of your web site. You mayneed to notify members of your organization about certain events likea purchase, a request for information, or feedback about your website. Email is also a useful tool to notify you when there areproblems with your CGI scripts. When you write subroutines thatrespond to errors in your CGI scripts, it is a very good idea toinclude code to notify whomever is responsible for maintaining thesite about the error.</p><p>There are several ways to send email from an application, includingusing an external mail client, such as <tt class="command">sendmail</tt> or<tt class="command">mail</tt>, or by directly communicating with the remotemail server via Perl. There are also Perl modules that make sendingmail especially easy. We'll explore all these options in thischapter by building a sample application that provides a web frontend to an emailer.</p><div class="sect1"><a name="ch09-24809" /><h2 class="sect1">9.1. Security</h2><p>Since the subject of <a name="INDEX-1804" /> <a name="INDEX-1,805" /><a name="INDEX-1806" />security isstill fresh in our minds, however, we should take a moment to reviewsecurity as it relates to email. Sending email is probably one of thelargest causes of security errors in CGI scripts.</p><a name="ch09-1-fm2xml" /><div class="sect2"><h3 class="sect2">9.1.1. Mailers and Shells</h3><p>Most <a name="INDEX-1807" /><a name="INDEX-1808" />CGI scripts open a<a name="INDEX-1809" />pipe to an external<a name="INDEX-1810" />mailclient such as <tt class="command">sendmail</tt> and<tt class="command">mail</tt>, and pass the email address through the<a name="INDEX-1811" /><a name="INDEX-1812" />shell as aparameter. Passing any user data through a shell is a very bad thingas we saw in the previous chapter (if you skipped ahead to thischapter, it would be wise to go back and review <a href="ch08_01.htm">Chapter 8, "Security"</a>, before continuing). Unless you like livingdangerously, you should <em class="emphasis">never</em> pass an emailaddress to an external application via a shell. It is not possible toverify that email addresses contain only certain safe characterseither. Contrary to what you may expect, a proper email address cancontain <em class="emphasis">any</em> valid ASCII character, includingcontrol characters and all those troublesome characters that havespecial meaning in the shell. We'll review what comprises avalid email address in the next section.</p></div><a name="ch09-2-fm2xml" /><div class="sect2"><h3 class="sect2">9.1.2. False Identities</h3><p>You have likely received<a name="INDEX-1813" /><a name="INDEX-1814" /> <a name="INDEX-1,815" />email claiming to befrom someone other than the true sender. It happens all the time with<a name="INDEX-1816" /> <a name="INDEX-1,817" />unsolicited bulk email(<em class="firstterm">spam</em>). Falsifying the<a name="INDEX-1818" />return address in an email message isvery simple to do, and can even be quite useful. You probably wouldrather have email messages sent by your web server appear to comefrom actual individuals or groups within your company than the user(e.g., <em class="emphasis">nobody</em>) that the web user runs as.We'll see how to do this in our examples later in this chapter.</p><p>So how does this relate to security? Say, for example, you create aweb form that allows users to send feedback to members of yourorganization. You decide to generalize the CGI script responsible forthis so you don't have to update it when internal emailaddresses change. Instead, you insert the email addresses into<a name="INDEX-1819" />hidden fields in thefeedback form since they're easier to update there. However,you do take security precautions. Because you recognize thatit's possible for a cracker to change hidden fields, you arecareful not to pass the email addresses through a shell, and youtreat them as <a name="INDEX-1820" /> <a name="INDEX-1,821" />tainted data. You handled all thedetails correctly, but you still have a potential securityproblem -- it's just at a higher level.</p><p>If the <a name="INDEX-1822" /><a name="INDEX-1823" />user can specify the sender,the recipient, and the body of the message, you are allowing them tosend any message to anyone anywhere, and the resulting message willoriginate from your machine. Anyone can falsify the return address inan email message, but it is very difficult to try to mask themessage's routing information. A knowledgeable person can lookat the headers in an email message and see where that message trulyoriginated, and all the email messages your web server sends out willclearly originate from the machine hosting it.</p><p>Thus this feedback page is a security problem because crackers giventhis much freedom could send damaging or embarrassing email towhomever they wanted, and all the messages would look like they arefrom your organization. Although this may not seem as serious as asystem breach, it is still something you probably would rather avoid.</p></div><a name="ch09-3-fm2xml" /><div class="sect2"><h3 class="sect2">9.1.3. Spam</h3><p>Spam, of course, refers to unsolicited<a name="INDEX-1824" /><a name="INDEX-1825" /><a name="INDEX-1826" />junk email. It'sthose messages that you get from someone you've never heard ofadvertising weight loss plans, get-rich schemes, andless-than-reputable web sites. None of us like spam, so be certainyour web site doesn't contribute to the problem. Avoid creatingCGI scripts that are so flexible that they allow the user to specifythe recipient and the content of the message. The previous example ofthe feedback page illustrates this. As we saw in the last chapter, itis not difficult to create a web client with LWP and a little bit ofPerl code. Likewise, it would not be difficult for a spammer to useLWP to repeatedly call your CGI script in order to send out numerous,annoying messages.</p><p>Of course, most spammers don't operate this way. The big oneshave dedicated equipment, and for those who don't, it'smuch more convenient to hijack an SMTP server, which is designed tosend mail, than having to pass requests through a CGI script. So evenif you do create scripts that are wide open to hijacking, the chancesthat someone will exploit it are slim ... but what if it does happen?You probably do not want to face the mass of angry recipients whohave tracked the routing information back to you. When it comes tosecurity, it's always better to play it <a name="INDEX-1827" /> <a name="INDEX-1,828" /> <a name="INDEX-1,829" />safe.</p></div></div><hr align="left" width="515" /><div class="navbar"><table border="0" width="515"><tr><td width="172" valign="top" align="left"><a href="ch08_06.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0" /></a></td><td width="171" valign="top" align="center"><a href="index.htm"><img src="../gifs/txthome.gif" alt="Home" border="0" /></a></td><td width="172" valign="top" align="right"><a href="ch09_02.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr><tr><td width="172" valign="top" align="left">8.6. Summary</td><td width="171" valign="top" align="center"><a href="index/index.htm"><img src="../gifs/index.gif" alt="Book Index" border="0" /></a></td><td width="172" valign="top" align="right">9.2. Email Addresses</td></tr></table></div><hr align="left" width="515" /><img src="../gifs/navbar.gif" alt="Library Navigation Links" usemap="#library-map" border="0" /><p><font size="-1"><a href="copyrght.htm">Copyright &copy; 2001</a> O'Reilly &amp; Associates. All rights reserved.</font></p><map name="library-map"><area href="../index.htm" coords="1,1,83,102" shape="rect" /><area href="../lnut/index.htm" coords="81,0,152,95" shape="rect" /><area href="../run/index.htm" coords="172,2,252,105" shape="rect" /><area href="../apache/index.htm" coords="238,2,334,95" shape="rect" /><area href="../sql/index.htm" coords="336,0,412,104" shape="rect" /><area href="../dbi/index.htm" coords="415,0,507,101" shape="rect" /><area href="../cgi/index.htm" coords="511,0,601,99" shape="rect" /></map></body></html>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品网| 欧美大片在线观看一区二区| 国产成人精品免费| 精品无人区卡一卡二卡三乱码免费卡 | 精品一区二区影视| 伦理电影国产精品| 韩国v欧美v日本v亚洲v| 精彩视频一区二区三区| 国产在线精品免费| 国产suv一区二区三区88区| 国产999精品久久久久久| 波多野洁衣一区| 色猫猫国产区一区二在线视频| 91免费版在线| 欧美色倩网站大全免费| 91精品国产综合久久久蜜臀图片| 日韩欧美中文字幕公布| 久久综合色一综合色88| 国产欧美日韩精品一区| 亚洲欧美一区二区久久| 亚洲成人精品一区| 裸体健美xxxx欧美裸体表演| 韩国一区二区三区| aaa亚洲精品| 欧美婷婷六月丁香综合色| 欧美一区日韩一区| 国产农村妇女精品| 亚洲制服丝袜av| 免费三级欧美电影| 成人深夜福利app| 91激情五月电影| 日韩免费视频一区二区| 国产精品女主播av| 亚洲成av人片| 国产精品影视天天线| 99视频在线观看一区三区| 欧美色偷偷大香| 久久综合九色综合97婷婷女人| 国产精品美女久久久久久| 亚洲综合精品自拍| 国产一区二区免费视频| 一本大道久久精品懂色aⅴ| 欧美精品丝袜久久久中文字幕| 26uuu久久天堂性欧美| 亚洲女同ⅹxx女同tv| 日本vs亚洲vs韩国一区三区| 成人免费观看av| 欧美剧情电影在线观看完整版免费励志电影| 欧美一级免费大片| 亚洲视频免费看| 久久黄色级2电影| 一本色道**综合亚洲精品蜜桃冫| 日韩一二在线观看| 亚洲精品视频在线观看免费| 韩国一区二区三区| 欧美视频在线一区二区三区 | 国产欧美日韩不卡免费| 亚洲高清免费在线| 成人av免费在线观看| 欧美一区二区在线播放| 精一区二区三区| 欧美午夜免费电影| 中文字幕精品一区| 另类欧美日韩国产在线| 色吧成人激情小说| 欧美夫妻性生活| 国产一区二区三区观看| 91九色02白丝porn| 亚洲欧美一区二区在线观看| 日本欧洲一区二区| 色婷婷精品久久二区二区蜜臂av| 精品国产成人系列| 五月激情综合网| 91麻豆免费看| 亚洲国产高清aⅴ视频| 久久精品国产99| 欧美久久久久久蜜桃| 亚洲精品欧美激情| www.亚洲色图.com| 国产女同互慰高潮91漫画| 蜜臂av日日欢夜夜爽一区| 欧美天堂一区二区三区| 亚洲女同ⅹxx女同tv| 成人综合在线观看| 久久久久久久久久看片| 开心九九激情九九欧美日韩精美视频电影| 色综合久久久网| 自拍偷拍国产精品| www.爱久久.com| 国产欧美一区二区精品性色超碰 | 极品尤物av久久免费看| 欧美丰满嫩嫩电影| 午夜精品福利视频网站| 欧美午夜视频网站| 亚洲国产va精品久久久不卡综合| 91久久线看在观草草青青| 亚洲欧美日韩中文播放| 成人激情黄色小说| 国产精品卡一卡二| 99精品黄色片免费大全| 国产精品久久久久久一区二区三区| 国产成人精品一区二区三区四区| 国产午夜精品一区二区三区四区| 国产伦精一区二区三区| 久久久久久久久久久久久久久99| 久久精品国产一区二区| 欧美tickling挠脚心丨vk| 久久精品国产一区二区三区免费看| 日韩欧美一级片| 国内精品第一页| 中文字幕久久午夜不卡| 丁香啪啪综合成人亚洲小说 | 精品国产91久久久久久久妲己| 美女国产一区二区三区| 日韩精品一区二区三区蜜臀| 狠狠狠色丁香婷婷综合激情| 久久综合久久久久88| 国产91精品一区二区麻豆亚洲| 国产精品―色哟哟| 91看片淫黄大片一级| 一级中文字幕一区二区| 69久久夜色精品国产69蝌蚪网| 麻豆一区二区在线| 国产欧美一区视频| 色系网站成人免费| 午夜精品久久久久久久久久久 | 亚洲不卡av一区二区三区| 69久久99精品久久久久婷婷| 精品一区二区av| 国产精品乱码一区二区三区软件| 91免费在线看| 日日噜噜夜夜狠狠视频欧美人 | 自拍偷自拍亚洲精品播放| 久久综合给合久久狠狠狠97色69| 国内外成人在线| 中文字幕在线不卡视频| 欧美日韩国产在线观看| 久久草av在线| 国产精品国产a| 欧美撒尿777hd撒尿| 狠狠色丁香婷婷综合| 1024成人网色www| 91精品国产色综合久久久蜜香臀| 国产一区欧美二区| 一区二区三区四区激情| 日韩视频一区二区| 成人avav影音| 日韩高清不卡一区| 国产精品久久久久久久久图文区| 欧美性大战久久| 国产经典欧美精品| 亚洲第一会所有码转帖| 国产色一区二区| 欧美日韩免费电影| 国产 日韩 欧美大片| 亚洲电影一级片| 国产精品私人影院| 欧美日产在线观看| 暴力调教一区二区三区| 蜜桃视频免费观看一区| 综合色天天鬼久久鬼色| 日韩欧美一级精品久久| 日本高清无吗v一区| 国产麻豆日韩欧美久久| 亚洲成av人片在线观看| 中文字幕免费在线观看视频一区| 7777精品久久久大香线蕉 | 成人午夜碰碰视频| 亚洲国产欧美日韩另类综合| 久久久精品人体av艺术| 欧美电影在哪看比较好| 99在线精品视频| 国产一区二区福利视频| 亚洲一区二区三区四区不卡| 中文字幕不卡在线| 精品捆绑美女sm三区| 欧美日韩中文另类| 99视频一区二区三区| 国产一区二区不卡老阿姨| 天堂在线一区二区| 亚洲影院免费观看| 中文字幕在线不卡一区| 26uuuu精品一区二区| 337p亚洲精品色噜噜狠狠| 欧日韩精品视频| 91啦中文在线观看| 成人av午夜影院| 国产盗摄一区二区三区| 免费人成精品欧美精品| 一区二区三区中文字幕精品精品| 国产日产欧美一区二区视频| 日韩欧美国产午夜精品| 欧美日韩在线三级| 欧美在线|欧美| 色综合天天做天天爱| 成人av综合一区| 成人丝袜18视频在线观看| 国产麻豆精品theporn| 理论电影国产精品| 免费国产亚洲视频|