PDA

View Full Version : SSLÂбþ¥Ú¡¼¥¸¤Ç¤Î CGI ¤Ë¤Ä¤¤¤Æ (RUBY)


mstk
2001/12/05, 08:00 PM
SSLÂбþ¥Ú¡¼¥¸¤ÇCGI¤òư¤«¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡¢
SSLÈóÂбþ¥Ú¡¼¥¸¤ä¥í¡¼¥«¥ë¤Ê´Ä¶­¤Ç¤ÏÌäÂê¤Ê¤¯Æ°ºî¤¹¤ë¥¹¥¯¥ê¥×¥È¤¬¡¢
XREA¤ÎSSLÂбþ¥Ú¡¼¥¸¤À¤Èưºî¤·¤Þ¤»¤ó¡£
²¿¤«´Ä¶­¤¬°ã¤¦¤Î¤Ç¤·¤ç¤¦¤«¡©

¶ñÂÎŪ¤Ë¤Ï¡¢¥¹¥¯¥ê¥×¥È¤ÏRuby ¤Ç½ñ¤¤¤Æ¤ª¤ê¡¢
cgi ¤Î¥é¥¤¥Ö¥é¥ê¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤Á¤ç¤Ã¤ÈÄ´¤Ù¤Æ¤ß¤¿¤È¤³¤í¡¢cgi(/usr/local/lib/ruby/1.6/cgi.rb)Ãæ¤Î
read_multipart ¤ÎÃæ¤Ç̵¸Â¥ë¡¼¥×¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£

°Ê²¼¥µ¥ó¥×¥ë¤Ç¤¹¡£
¤³¤ÎHTML¤ÈCGI¤ÎÁȤ߹ç¤ï¤»¤Ç¡¢SSLÈóÂбþ¥Ú¡¼¥¸¤Ê¤éư¤­¤Þ¤¹¤¬¡¢
SSLÂбþ¥Ú¡¼¥¸¤Ç¤Ï̵¸Â¥ë¡¼¥×¤ÎËö¤Ë¥¿¥¤¥à¥¢¥¦¥È¤·¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£

¥µ¡¼¥Ð¡¼¤Ï s4.xrea.com ¤Ç¤¹¡£

-----test.cgi-----
#!/usr/local/bin/ruby
require 'cgi'
print "Content-Type: text/plain\n\n"
cgi = CGI.new
for key in cgi.keys do
print cgi[key][0].read
print "\n"
end
-----test.cgi-----
-----test.html-----
<html>
<head></head>
<body>
<form method=post action="test.cgi" enctype="multipart/form-data">
<p>text1<input type=text name=text1></p>
<p><input type=submit name=Submit> <input type=reset name=Reset></p>
</form>
</body>
</html>
-----test.html-----

mstk
2001/12/08, 06:41 PM
¤¤¤­¤Ê¤ê·ëÏÀ¤Ç¤¹¤¬¡¢¹­¹ð¤Î¼«Æ°ÁÞÆþ¤ò¤ä¤á¤ë¤³¤È¤Ç²ò·è¤·¤Þ¤·¤¿¡£
¤½¤Î¸¶°ø¤Ç¤¹¤¬¡¢POST¥á¥½¥Ã¥É¤Ç¥Ç¡¼¥¿¤òCGI¤ËÅϤ¹¾ì¹ç¡¢É¸½àÆþÎϤòÍѤ¤¤Æ¥¹¥¯¥ê¥×¥È¦¤Ï¥Ç¡¼¥¿¤òÆÉ¤ß¹þ¤à¤Î¤Ç¤¹¤¬¡¢SSL¥Ú¡¼¥¸¤Ë¤ª¤¤¤Æ¹­¹ð¤Î¼«Æ°ÁÞÆþ¤òÍ­¸ú¤Ë¤·¤¿¾õÂ֡ʳÈÄ¥»Ò¤Ï.cgi¡Ë¤Ç¤Ï¡¢É¸½àÆþÎÏ¤ÎÆâÍÆ¤¬¤°¤Á¤ã¤°¤Á¤ã¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£

²¼¤ÎCGI¤ò¡¢/secure_html °Ê²¼¤ËÀßÃÖ¤·¤Æ¡¢¤½¤Î¼¡¤Ë½ñ¤¤¤¿¤è¤¦¤ÊHTML¤Ç¸Æ¤Ó½Ð¤¹¤È¡¢¤½¤Î·ë²Ì¤Î°ã¤¤¤¬¤Ï¤Ã¤­¤ê¤Èʬ¤«¤ê¤Þ¤¹¡£
-----test.cgi or test.xcg-----
#!/bin/sh
echo Content-type: text/plain
echo
cat
-----

-----test.html-----
<html><body>
<form method=post action="test.cgi" enctype="multipart/form-data">
<p>text1<input type=text name=text1></p>
<p><input type=submit name=Submit> <input type=reset name=Reset></p>
</form>
</body></html>
-----

CGI¤Î³ÈÄ¥»Ò¤ò.xcg¤Ë¤·¤¿¤È¤­¤Ï¡¢Î㤨¤Ð
-----
--------------------------------36421353645441353183360
Content-Disposition: form-data; name="text1"


--------------------------------36421353645441353183360
Content-Disposition: form-data; name="Submit"

SUBMIT
--------------------------------36421353645441353183360--
-----

¤³¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤Îɸ½àÆþÎϤ¬¡¢CGI¤Î³ÈÄ¥»Ò¤ò.cgi¤Ë¤¹¤ë¤È¡¢

-----
ÖÖó¥ÈéÜ¥¦Mµç¥â Y¡¬Ion¥èvÂÕèð b¥à¥¤»ÌyM¡£¥Ã¥Þ1&T¡¦¥± L¥Ï¥¿k ÊªÖø
¥©G?'3_V ¥Î@.gËÌ6ͳ ¥½& ¥í¥¹fw| : 9 ¥â%¥ÍbB| ¡«íÐ y3¥Ï¥¡¥è¥Ûpïà ů¥£¥Î
Ĺr j4 üó ?¼¨r~¥¦s ¥ÞeÁÎO 1%K$¥Á (¡¦¥ÏF Yk¥Î¥ÞÈÊO<¥ò4{ z¥çF 0¥éÇë
¥£Tq¥¹6Õ§]·Ã 1°Û¥¤P ¡¦¡¦¥Î ¥Õ[msß÷ÝÓh5¥È- Kx #Ý´¥ß¥ß¥Ã d R
-----

¤³¤Î¤è¤¦¤Ë´°Á´¤Ë¤ª¤«¤·¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤¦¤¤¤¦¤ï¤±¤Ç¡¢mod_layout ¤È mod_ssl ¤ÎÁȹ礻¤Ç enctype="multipart/form-data" ¤ò»È¤Ã¤¿»þ¤ÎÉÔ¶ñ¹ç¤È¤¤¤¦¤Î¤¬¤½¤Î¸¶°ø¤Ç¤¹¡£