a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Perl > 正文

PerlCGI程式寫作常問問題集(4)安全

2019-11-18 17:23:31
字體:
來源:轉載
供稿:網友

5.0-安全

--------------------------------------------------------------------------------

Q5.1:以Perl寫成的CGI程式是不是不如以shell或C寫的來得安全?
這個問題的答案是:CGI程式先天上就不安全,不管它是用那個語言寫成的*。

【譯者】WWW及
CGI操作安全FAQ中問題第31對此有深入的探討。



--------------------------------------------------------------------------------

Q5.2:我該特別留意哪些安全事項?
絕對不要對shell暴露任何form資料。底下這幾項通通都是安全漏洞:

open(COMMAND,"/usr/ucb/finger$form_user");
system("/usr/ucb/finger$form_user");
@data=`usr/ucb/finger$form_user`;
話雖如此,在上面的第二種寫法中,系統安全可藉著改變參數傳送的方式而得以改善。也就是將參數由字串方式傳送(shell會先解譯),改為序列方式傳送。

system("/usr/ucb/finger",$form_user);
您同時應該閱讀:

由LincolnStein所著,一份很完整的WWW及CGI操作安全FAQ
PaulPhill

現在您同意了吧?避免這個惡夢發生的方法:

將perl.exe執行檔由``cgi-bin''移到server根目錄以外的目錄里去。
在``cgi-bin''里用批次檔(batch)script來叫出您的CGIscript。
以下是一例。假設您的CGIscript叫做``sample.pl''而您的批次檔叫``simple.bat'':

@echooff
c:/dos_perl/perl.exec:/netscape/ns-home/docs/cgi-bin/simple.pl

現在,您可以做:

ClickHere



--------------------------------------------------------------------------------

Q5.4:要如何在程式中安全地使用逆向撇號(backticks,"`",位於鍵盤左上角)?這麼做:
@ans=`grep'$user_field'some.file`;
是不是真的不安全?
是的!這非常危險!試想,如果$user_field含有這樣的內容會有什麼後果:

;rm-fr/;

要達到相同的效果,一個比較安全的做法是*:

if(openGREP,"-|"){
@ans=;
}else{
exec("/usr/local/bin/grep",$user_field,"some.file")
||die"Errorexec'ingcommand","/n";
}

closeGREP;

【譯者】如果讀者對以上openGREP,"-|"部份的句法有疑問,可以
參閱perlipcmanpages中SafePipeOpens一節的說明。



--------------------------------------------------------------------------------

Q5.5:/$user_variable/這個句法是不是Perl5中的一個安全漏洞?
不!這不是個安全漏洞。但是如果您用eval指令在執行期(runtime)去評估這個敘述,那麼,它會變成一個安全死角。例如這種做法可能很危險:

foreach$regexp(@all_regexps){
eval"foreach(/@data){push(/@matches,/$_)ifm|$regexp|o;}";
}


--------------------------------------------------------------------------------
版權事宜

--------------------------------------------------------------------------------

Thisdocument,andallitsparts,areCopyright(c)1996,Shishir
GundavaramandTomChristiansen.Allrightsreservered.
Permissontodistributethiscollection,inpartorfull,viaelectronic
means(emailed,postedorarchived)orPRintedcopyaregrantedproviding
thatnochargesareinvolved,reasonableattemptismadetousethemost
currentversion,andallcreditsandcopyrightnoticesareretained.
Requestsforotherdistributionrights,includingincorporationin
commercialproducts,suchasbooks,magazinearticles,orCD-ROMsshouldbe
madetoeitheroftheauthors.

本文件著作權屬於ShishirGundavaram及TomChristiansen所有,Copyright(C)1996。在不涉及收費營利、盡可能地使用最新版,及所有著作權告示保持完整的情況下,作者允許任何人透過電子形式(電子郵件、討論群布告,或存放),或印表方式對本文件作完整或部份發行。如欲將本文件作其他方式發行,包括將本文件附加於商業產品,諸如書籍、雜志文章,或光碟等之中,必須事先對二位作者其中一人提出請求,以徵得許可授權。

本中譯版及譯者補充部份著作權屬蕭百齡及兩只老虎工作室所有,Copyright(C)1997。本中譯版遵守并使用與上述原文版相同的使用條款發行。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 欧美成人精品在线观看 | 成人精品视频在线观看 | a免费在线观看 | 欧美一区二区三区电影 | 亚洲精品乱码久久久久久国产主播 | 太久视频网站 | 亚洲人黄色片 | 奇米av| 免费v片在线观看 | 国产精品久久久久久久久久 | 欧美日韩精品一区二区三区蜜桃 | 欧美激情综合五月色丁香小说 | 在线观看国产视频 | 欧美一区二区在线观看 | 五月激情天| 一区二区三区四区精品 | 欧美一区2区三区4区公司贰佰 | 亚洲一区二区三区免费在线观看 | 中文字幕视频在线免费 | 亚洲啊v在线 | 欧美成年网站 | 日本久久久久久久 | 久久综合伊人 | 欧美日韩在线观看视频 | 成人久久 | 欧美精品一区二 | 在线观看日韩av | 日韩高清在线播放 | 精品视频在线观看 | 欧美综合视频在线观看 | 亚洲精品中文字幕 | 成人免费观看cn | 国产精品一区二区在线观看 | 国产成人免费 | 日本a在线 | 91精品国产综合久久国产大片 | 视频精品一区二区 | 午夜精品久久久 | 黄页网站免费在线观看 | 亚洲第一福利视频 | 奇米影视首页 |