看板 java 關於我們 聯絡資訊
從伺服器上讀txt檔案是成功的 但不知道為什麼一樣的方法要把txt寫入伺服器上就是不行 程式碼: URL url; try { url = new URL("http://XXX.xxx.xxx.xxx/XXX/data.txt"); URLConnection connection = url.openConnection(); OutputStream outStream = connection.getOutputStream(); BufferedWriter br = new BufferedWriter(new OutputStreamWriter(outStream)); br.write("test"); br.close(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 錯誤訊息在第五行 java.net.ProtocolException: cannot write to a URLConnection if doOutput=false - call setDoOutput(true) 想請問這是怎麼一回事? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.218.236.86
LaPass:...................... 07/19 20:37
※ 編輯: gh8811211 來自: 180.218.236.86 (07/19 20:38)
gh8811211:請問一樓在點什麼? 07/19 20:38
LaPass:妳認真想一下這對伺服器是多危險的事.... 07/19 20:42
gh8811211:我自己的程式,只是要有一個紀錄檔存在伺服器,以便 07/19 20:43
gh8811211:client端抓取紀錄而已,哪裡有危險問題 07/19 20:45
gh8811211:而且我也不是問這程式碼會不會對伺服器造成危險 07/19 20:46
LaPass:不.... 是伺服器端根本不可能讓別人這樣寫,原本就是這樣設 07/19 20:48
gh8811211:那我要把記錄存在伺服器端 有什麼好建議嗎? 07/19 20:49
LaPass:如果你的伺服器是用HTTP,那就用POST傳上去 07/19 20:53
gh8811211:那不就還要一個網頁檔案接收? 07/19 21:02
LaPass:是 07/19 21:11
gh8811211:不懂網頁post = = 07/19 21:20
gh8811211:請問是否有簡單範例檔可以借我參考? 07/19 21:32
PsMonkey:google java fileupload 07/19 21:43
neverfly:要是控制的好,不覺得跟上傳檔案比起來會比較危險 07/19 22:02
neverfly:錯誤訊息叫你call setDoOutput(true),為什麼不試試? 07/19 22:03
awert:這樣只是和server做http request ._. 07/19 22:32
roden:看到URL我就笑了... 07/19 23:16
LaPass:樓上懂我在1f在點了什麼吧... 我已經不是第一次看到有人想 07/19 23:25
LaPass:從url寫入檔案了.... 07/19 23:27
darkk6:我倒是第一次看到... 當下反應也是點點點... 07/19 23:57
pupuliao:煞氣阿....能這樣寫入 就天下大亂了 07/20 01:51
bitlife:很多色狼也希望只要有美女的地址就能寫入襠暗 07/20 07:11
gh8811211:請問 neverfly , setDoOutput在哪裡修改? 07/20 15:18
gh8811211:setDoOutput(true)之後沒錯誤了,不過並沒有寫入檔案 07/20 15:25
LaPass:樓上,請看 awert:這樣只是和server做http request ._. 07/20 16:01
qrtt1:那不是答案,不要看到稻草當浮木亂抓啊。 07/20 16:48
dennisxkimo:我會想到web service方式來達成 07/20 20:35
peanut97:請問用url的方式會對伺服器造成什麼危險嗎? 有例子嗎? 07/20 23:18
LaPass:即使不用URL,用post也可能會出現漏洞的,例如使用者POST一 07/20 23:20
LaPass:個hack.jsp檔案上去,伺服器又丟在 xxx.xxx/file/hack.jsp 07/20 23:22
LaPass:的外連路徑,那使用者就可以對伺服器做任何事了。 07/20 23:25
LaPass:還有,不會有例子,因為HTTP根本不讓人這樣寫入擋案。 07/20 23:29
LaPass:在cmd那邊打 telnet google.com 80 看看,這就是http的底層 07/20 23:42
neverfly:喔,沒仔細看code,我以為是在寫server side的程式 07/21 09:19
TaiwanXDman:如果能這樣寫 每個人只要知道你URL 全給你寫你就爆了 07/22 00:18
pupuliao:根本就沒搞頂 http 的運作方式阿...他只是供應檔案 07/22 11:50
pupuliao:要是能寫入,那就任何人都可以進去改了,這怎麼可能 07/22 11:52
peanut97:還是不懂要怎麼寫才能把server寫爆? 寫爆的意思是? 07/23 00:21
LaPass:我放棄.... 有請樓下解釋 07/23 00:49
psplay:就丟幾個程式輪流寫入文字到你家伺服器 07/23 08:12
psplay:掛幾個小時後你們家伺服器的硬碟就爆了 07/23 08:14
psplay:第二個方式就是寫成.jsp 利用單機指令搞爆你們家伺服器... 07/23 08:16
ping1777:莊園文化ˊ_>ˋ? 07/23 10:53
jinmin88:之前發生慘烈的例子 被駭客上傳aspxspy 網頁板admin 07/23 15:02
jinmin88:通常都是給外包廠商寫的留言板或上傳區才有的問題=.= 07/23 15:04