首页 > 社会 > 正文内容

安全文件上传配置指南:防御漏洞攻击的5个关键设置

社会2025-05-28 02:49:46

涓€銆佷綘浠ヤ负鍔犱釜涓婁紶妗嗗氨瀹屼簨浜嗭紵

涓婂懆鎴戝府鏈嬪弸鍏徃鍋氭笚閫忔祴璇曪紝鐢ㄤ竴寮?鐚尗.jpg"鐨勫浘鐗囷紝鎰f槸鎶婁粬浠殑鏈嶅姟鍣ㄦ悶鐦棯浜嗏€斺€斾綘鐚滄€庝箞鐫€锛熸垜鎶?jpg鍚庣紑鏀规垚.php锛屼笂浼犲悗鐩存帴鎵ц浜嗘伓鎰忚剼鏈€?/p>

馃憠 鈥?strong>鈥嬬伒榄傛嫹闂€?/strong>鈥嬶細涓轰粈涔堢湅浼兼甯哥殑鏂囦欢涓婁紶鍔熻兘浼氭垚涓虹郴缁熸紡娲烇紵
绛旀寰堢畝鍗曪細澶氭暟浜哄彧鍋氫簡琛ㄩ潰鍔熷か銆傚挶浠粖澶╄鑱婄殑杩?涓槻寰¤缃紝灏卞儚缁欑郴缁熺┛涓婇槻寮硅。锛岀己涓€涓嶅彲銆?/p>


浜屻€佺敓姝荤嚎锛氭枃浠剁被鍨嬫牳楠?/h3>

鈥?strong>鈥嬫柊鎵嬫渶瀹规槗鏍界殑鍧戔€?/strong>鈥嬶細鍙鏌ユ枃浠跺悗缂€鍚嶃€?br/> 鍘诲勾鏌愮數鍟嗗钩鍙版紡娲炲氨鏄繖涔堣鍒╃敤鐨勶紝鏀诲嚮鑰呮妸webshell鑴氭湰鏀规垚"invoice.pdf"涓婁紶锛岀粨鏋滀綘鎳傜殑...

鈥?strong>鈥嬫纭搷浣滄寚鍗椻€?/strong>鈥嬶細

  1. 鐢∕IME绫诲瀷妫€娴嬩唬鏇垮悗缂€鍚嶅垽鏂?
    java澶嶅埗
    // SpringBoot绀轰緥锛氭鏌ョ湡瀹炴枃浠剁被鍨?/span>
    String mimeType = Files.probeContentType(file.getPath());
    if(!"image/jpeg".equals(mimeType)){
        throw new Exception("鍒嬁PDF鍐掑厖鍥剧墖鍟婂厔寮燂紒");
    }
  2. 鐧藉悕鍗曟満鍒舵瘮榛戝悕鍗曢潬璋?0鍊?br/> 鍙厑璁哥壒瀹氱被鍨嬶細姣斿鍥剧墖绫婚檺瀹歫pg/png/gif
  3. 鍙岄噸楠岃瘉绛栫暐锛氬墠绔?鏈嶅姟绔悇鏌ヤ竴閬?/li>

涓夈€佷繚鍛界锛氭枃浠跺ぇ灏忛檺鍒?/h3>

瑙佽繃鏈€绂昏氨鐨勬渚嬶細鏌愯鍧涘厑璁镐笂浼?GB鐨?澶村儚"锛岀洿鎺ユ拺鐖嗙‖鐩樸€?/p>

鈥?strong>鈥嬩笁灞傞槻寰′綋绯烩€?/strong>鈥嬶細

闃插尽灞傜骇瀹炵幇鏂瑰紡蹇呰鎬?/th>
鍓嶇JavaScript鏍¢獙鐢ㄦ埛浣撻獙锛屽彲缁曡繃
鏈嶅姟绔?/td>SpringBoot閰嶇疆鏍稿績闃茬嚎
缃戝叧灞?/td>Nginx闄愬埗璇锋眰浣撳ぇ灏?/td>闃睤DoS鏀诲嚮
properties澶嶅埗
# SpringBoot閰嶇疆锛堝埆瓒呰繃10MB锛?/span>
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

鍥涖€侀殣韬湳锛氭枃浠堕噸鍛藉悕绛栫暐

鍘诲勾鏌愭斂搴滅綉绔欐紡娲炲氨鍑哄湪杩欓噷鈥斺€斾笂浼犳枃浠朵繚鐣欏師濮嬫枃浠跺悕锛屽鑷存敾鍑昏€呰兘绮惧噯瀹氫綅鏈ㄩ┈鏂囦欢銆?/p>

鈥?strong>鈥嬮噸鍛藉悕涓夋澘鏂р€?/strong>鈥嬶細

  1. 鏃堕棿鎴?闅忔満鏁帮細20230828_145302_58a9.jpg
  2. UUID鏀归€犳柟妗堬細鍘绘帀妯潬杞皬鍐欙紙a3f8c7b1e6d4锛?/li>
  3. 鍝堝笇鍔犲瘑鍛藉悕锛歁D5(鐢ㄦ埛ID+鏃堕棿鎴?.jpg

鈥?strong>鈥嬭娉暀璁€?/strong>鈥嬶細鏌愮ぞ浜PP鍥犱娇鐢ㄧ敤鎴疯緭鍏ョ殑鏂囦欢鍚嶏紝瀵艰嚧璺ㄧ洰褰曟敾鍑伙紝寤鸿缁濆璺緞瀛樺偍鍒伴潪web鐩綍锛?/p>

java澶嶅埗
// 閿欒绀鸿寖锛氱洿鎺ュ瓨web鐩綍涓?/span>
FileUtils.copy(file, new File("/var/www/uploads/"+filename));

// 姝g‘濮垮娍锛氱嫭绔嬪瓨鍌ㄨ矾寰?/span>
String savePath = "/external_storage/2023/uploads/";

浜斻€侀噾閽熺僵锛氭潈闄愰殧绂绘満鍒?/h3>

瑙佽繃鏈€楠氱殑鎿嶄綔锛氫笂浼犵洰褰曠粰浜?77鏉冮檺锛岄粦瀹㈢洿鎺ョ鏀?htaccess鏂囦欢銆?/p>

鈥?strong>鈥嬫潈闄愰厤缃洓鍘熷垯鈥?/strong>鈥嬶細

  1. 涓婁紶鐩綍绂佺敤鎵ц鏉冮檺 鈫?杩欎釜瑕佸垝閲嶇偣锛?/li>
  2. 鍗曠嫭閰嶇疆web鏈嶅姟鍣ㄨ鍒欙細
    nginx澶嶅埗
    location ^~ /uploads/ {
        deny all; # 绂佹鐩存帴璁块棶
        php_admin_value engine off; # 绂佺敤PHP瑙f瀽
    }
  3. 瀹氭湡娓呯悊闄堟棫鏂囦欢锛堝缓璁敤cron瀹氭椂浠诲姟锛?/li>
  4. 鍚敤闃茬梾姣掓壂鎻?鈫?寰堝鍏徃浼氬拷鐣ヨ繖鐐?/li>

鍏€佺収濡栭暅锛氭棩蹇楃洃鎺х郴缁?/h3>

浣犵煡閬撻粦瀹㈡渶鍠滄浠€涔堟椂鍊欏彂鍔ㄦ敾鍑诲悧锛熷噷鏅?-4鐐癸紒杩欐椂鍊欐病鏃ュ織鐩戞帶灏辩瓑浜庣潄鐪肩瀻銆?/p>

鈥?strong>鈥嬪繀椤昏褰曠殑鏃ュ織淇℃伅鈥?/strong>鈥嬶細

  • 鐢ㄦ埛IP鍦板潃
  • 鍘熷鏂囦欢鍚嶄笌鏂版枃浠跺悕
  • 鏂囦欢MD5鍊?/li>
  • 涓婁紶鏃堕棿鎴?/li>
  • 妫€娴嬬粨鏋滅姸鎬?/li>

鈥?strong>鈥嬬湡瀹炴渚嬧€?/strong>鈥嬶細鏌愰噾铻嶅钩鍙伴€氳繃鏃ュ織鍒嗘瀽锛屽彂鐜板悓涓€IP鍦?0鍒嗛挓鍐呬笂浼犱簡2000娆″紓甯告枃浠讹紝鍙婃椂闃绘浜嗘敾鍑汇€?/p>


璇寸偣寰楃姜浜虹殑澶у疄璇?/h3>

骞蹭簡鍗佸勾缃戠粶瀹夊叏锛岃杩囧お澶?鎴戜互涓哄緢瀹夊叏"鐨勭炕杞︾幇鍦恒€傛渶杩戠粰瀹㈡埛鍋氫唬鐮佸璁★紝鍙戠幇涓瓟骞荤幇璞★細83%鐨勯」鐩湪鏂囦欢涓婁紶鍔熻兘涓紝5涓槻鎶よ缃繛3涓兘娌″仛鍒般€?/p>

璁颁綇杩欎釜鍏紡锛氣€?strong>鈥嬪畨鍏?楠岃瘉绫诲瀷+鎺у埗澶у皬+閲嶅懡鍚?鏉冮檺鎺у埗+鏃ュ織鐩戞帶鈥?/strong>鈥嬨€傚氨鍍忕倰鑿滆鏀剧洂锛屽皯涓€涓楠ゅ懗閬撳氨涓嶅銆備笅娆″啓涓婁紶鍔熻兘鏃讹紝涓嶅Θ鎶婅繖绡囨枃绔犲綋妫€鏌ユ竻鍗曪紝灏戞帀鍧戞瘮浜嬪悗琛ユ晳寮哄鍟︼紒

搜索