導航:首頁 > 程序命令 > 好程序員web設置

好程序員web設置

發布時間:2023-10-12 20:53:06

Ⅰ 如何設置 Web 伺服器的許可權

如何設置 Web 伺服器的許可權?如果Web伺服器的許可權沒有設置好,那麼網站就會出現漏洞並且很可能會出現被不懷好意的人黑掉的情況。我們不應該把這歸咎於 IIS 的不安全。如果對站點的每個目錄都配以正確的許可權,出現漏洞被人黑掉的機會還是很小的(Web 應用程序本身有問題和通過其它方式入侵黑掉伺服器的除外)。下面是我在配置過程中總結的一些經驗,希望對大家有所幫助。

IIS Web 伺服器的許可權設置有兩個地方,一個是 NTFS 文件系統本身的許可權設置,另一個是 IIS 下網站->站點->屬性->主目錄(或站點下目錄->屬性->目錄)面板上。這兩個地方是密切相關的。下面以實例的方式來講解如何設置許可權。

IIS 下網站->站點->屬性->主目錄(或站點下目錄->屬性->目錄)面板上有:

腳本資源訪問
讀取
寫入
瀏覽
記錄訪問
索引資源
6 個選項。這 6 個選項中,「記錄訪問」和「索引資源」跟安全性關系不大,一般都設置。但是如果前面四個許可權都沒有設置的話,這兩個許可權也沒有必要設置。在設置許可權時,記住這個規則即可,後面的例子中不再特別說明這兩個許可權的設置。

另外在這 6 個選項下面的執行許可權下拉列表中還有:


純腳本
純腳本和可執行程序
3 個選項。

而網站目錄如果在 NTFS 分區(推薦用這種)的話,還需要對 NTFS 分區上的這個目錄設置相應許可權,許多地方都介紹設置 everyone 的許可權,實際上這是不好的,其實只要設置好 Internet 來賓帳號(IUSR_xxxxxxx)或 IIS_WPG 組的帳號許可權就可以了。如果是設置 ASP、php 程序的目錄許可權,那麼設置 Internet 來賓帳號的許可權,而對於 ASP.NET 程序,則需要設置 IIS_WPG 組的帳號許可權。在後面提到 NTFS 許可權設置時會明確指出,沒有明確指出的都是指設置 IIS 屬性面板上的許可權。

例1 —— ASP、PHP、ASP.NET 程序所在目錄的許可權設置:
如果這些程序是要執行的,那麼需要設置「讀取」許可權,並且設置執行許可權為「純腳本」。不要設置「寫入」和「腳本資源訪問」,更不要設置執行許可權為「純腳本和可執行程序」。NTFS 許可權中不要給 IIS_WPG 用戶組和 Internet 來賓帳號設置寫和修改許可權。如果有一些特殊的配置文件(而且配置文件本身也是 ASP、PHP 程序),則需要給這些特定的文件配置 NTFS 許可權中的 Internet 來賓帳號(ASP.NET 程序是 IIS_WPG 組)的寫許可權,而不要配置 IIS 屬性面板中的「寫入」許可權。

IIS 面板中的「寫入」許可權實際上是對 HTTP PUT 指令的處理,對於普通網站,一般情況下這個許可權是不打開的。

IIS 面板中的「腳本資源訪問」不是指可以執行腳本的許可權,而是指可以訪問源代碼的許可權,如果同時又打開「寫入」許可權的話,那麼就非常危險了。

執行許可權中「純腳本和可執行程序」許可權可以執行任意程序,包括 exe 可執行程序,如果目錄同時有「寫入」許可權的話,那麼就很容易被人上傳並執行木馬程序了。

對於 ASP.NET 程序的目錄,許多人喜歡在文件系統中設置成 Web 共享,實際上這是沒有必要的。只需要在 IIS 中保證該目錄為一個應用程序即可。如果所在目錄在 IIS 中不是一個應用程序目錄,只需要在其屬性->目錄面板中應用程序設置部分點創建就可以了。Web 共享會給其更多許可權,可能會造成不安全因素。

總結: 也就是說一般不要打開-主目錄-(寫入),(腳本資源訪問) 這兩項以及不要選上(純腳本和可執行程序),選(純腳本)就可以了.需要asp.net的應用程序的如果應用程序目錄不止應用程序一個程序的可以在應用程序文件夾上(屬性)-目錄-點創建就可以了.不要在文件夾上選web共享.

例2 —— 上傳目錄的許可權設置:
用戶的網站上可能會設置一個或幾個目錄允許上傳文件,上傳的方式一般是通過 ASP、PHP、ASP.NET 等程序來完成。這時需要注意,一定要將上傳目錄的執行許可權設為「無」,這樣即使上傳了 ASP、PHP 等腳本程序或者 exe 程序,也不會在用戶瀏覽器里就觸發執行。

同樣,如果不需要用戶用 PUT 指令上傳,那麼不要打開該上傳目錄的「寫入」許可權。而應該設置 NTFS 許可權中的 Internet 來賓帳號(ASP.NET 程序的上傳目錄是 IIS_WPG 組)的寫許可權。

如果下載時,是通過程序讀取文件內容然後再轉發給用戶的話,那麼連「讀取」許可權也不要設置。這樣可以保證用戶上傳的文件只能被程序中已授權的用戶所下載。而不是知道文件存放目錄的用戶所下載。「瀏覽」許可權也不要打開,除非你就是希望用戶可以瀏覽你的上傳目錄,並可以選擇自己想要下載的東西。

總結: 一般的一些asp.php等程序都有一個上傳目錄.比如論壇.他們繼承了上面的屬性可以運行腳本的.我們應該將這些目錄從新設置一下屬性.將(純腳本)改成(無).

例3 —— Access 資料庫所在目錄的許可權設置:
許多 IIS 用戶常常採用將 Access 資料庫改名(改為 asp 或者 aspx 後綴等)或者放在發布目錄之外的方法來避免瀏覽者下載它們的 Access 資料庫。而實際上,這是不必要的。其實只需要將 Access 所在目錄(或者該文件)的「讀取」、「寫入」許可權都去掉就可以防止被人下載或篡改了。你不必擔心這樣你的程序會無法讀取和寫入你的 Access 資料庫。你的程序需要的是 NTFS 上 Internet 來賓帳號或 IIS_WPG 組帳號的許可權,你只要將這些用戶的許可權設置為可讀可寫就完全可以保證你的程序能夠正確運行了。

總結: Internet 來賓帳號或 IIS_WPG 組帳號的許可權可讀可寫.那麼Access所在目錄(或者該文件)的「讀取」、「寫入」許可權都去掉就可以防止被人下載或篡改了

例4 —— 其它目錄的許可權設置:
你的網站下可能還有純圖片目錄、純 html 模版目錄、純客戶端 js 文件目錄或者樣式表目錄等,這些目錄只需要設置「讀取」許可權即可,執行許可權設成「無」即可。其它許可權一概不需要設置。 上面的幾個例子已經包含了大部分情況下的許可權設置,只要掌握了設置的基本原理,也就很容易地完成能其它情況下的許可權設置。

java程序員請進!怎麼用eclipse創建web項目及配置和運行

eclipse:
准備工作 把j2ee的插件放進eclipse plugin文件夾
file - new- other- webn-dynamic web project 隨便起個名字finish
window-showview-servers然後你控制台里就能看到一個server的標簽點了 然後再空白處 右擊 new server 然後選擇tomcat 相應的版本 next 然後把你剛創建的項目從走遍 移到右邊finish

完成後雙擊你創建的server 然後點擊 open launch configuration 然後點classpath 在user entries里 加你啟動server 需要的jar 或者項目 比如 資料庫連接Jar 或者是 log4j commonlogging之類的東西
至此dynamic web project 已經配置完成

http://d2u376ub0heus3.cloudfront.net/technology/epp/downloads/release/galileo/SR1/eclipse-jee-galileo-SR1-win32.zip
下個j2ee 的eclipse算了 省的裝插件 麻煩

Ⅲ 如何讓程序員更容易的開發Web界面

如何讓程序員更容易的開發Web界面,是一個持久的話題,所有的從事相關開發的公司都會碰到這個問題,並且被這個問題所深深困擾。
Tiny框架也不得不直視這個問題,確實來說,想解決這個問題,也是非常有難度與深度的,業界也有各種各樣的嘗試,這也是有各種各樣不同框架出現的原因。
Tiny框架構建者認為,完全採用一種框架解決所有問題,是不現實的。而且即使目前找得到一種非常好的框架,暫時可以滿足應用需要,但是隨著技術的發展,業務的進化,就會慢慢變得不再滿足業務需要。因此,Tiny框架構建從不再把做一套UI組件去適各種需求作為自己的目標。
反過來,我們看看在做Web應用中,可能會碰到的問題:
UI中JS的引入與順序,JS合並的問題
UI中css的引入與順序,CSS合並的問題
UI中碰到性能問題時的影響范圍,比如:一個樹出現問題,要改動許多用到樹的地方
代碼重復的問題,同樣的內容在許多地方都有,如果要改動就要改動許多個地方
整體布局調整困難的問題
程序員需要關注的內容太多的問題,JS,CSS,布局,後台業務,前台展現,尼瑪界面工程師必須得是全才才可以搞得定所有問題。
開發效率的問題
執行效率的問題,前台響應要求速度更快
集群的問題
國際化的問題
...
因此,我在以前寫過一篇文章:UI開發的終極解決方案感興趣的同學,可以去看看,今天的目標是利用TinyUI框架的重構SmartAdmin,使得更容易被使用。
SmartAdmin初識

SmartAdmin是一套基於JQuery,Bootstrap構建的UI組件庫,說直白些,它就是個大雜燴,它把各種JQuery插件和Bootstrap整合到一起,提供了一整套基本完整的應用開發UI庫,基本是拿著它就可以用來非常專業的應用系統了。

下面是界面,當然它內嵌提供了四套皮膚,可以進行切換的:

由於SmartAdmin是商業產品,需要購買,因此不能提供其Copy,據說在Bai可以搜到,據說可以下載。如果只是想看一下的話,請點擊此鏈接:http://192.241.236.31/test4.smartadmin/
SmartAdmin分析
通過對SmartAdmin的分析,發現其復用了大量的開源插件,並且利用了Ajax載入技術,在運行期載入了大量的JS插件或CSS,整個頁面採用Html+JS整合而成,許多JS與頁面還是分離的,也就是說對本頁面中的Dom元素的處理的JS不一定在當前html文件中,所以要想看得懂是非常困難的,如果想把它應用在自己的項目當中,也是非常困難的一件事情。
舉個例子來說,要顯示一個小部件,需要寫這么一段內容:
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

<div class="jarviswidget" id="wid-id-0">
�0�2<!-- widget options:
�0�2usage: <div class="jarviswidget" id="wid-id-0" data-widget-editbutton="false">
�0�2�0�2
�0�2data-widget-colorbutton="false"
�0�2data-widget-editbutton="false"
�0�2data-widget-togglebutton="false"
�0�2data-widget-deletebutton="false"
�0�2data-widget-fullscreenbutton="false"
�0�2data-widget-custombutton="false"
�0�2data-widget-collapsed="true"�0�2
�0�2data-widget-sortable="false"
�0�2�0�2
�0�2-->
�0�2<header>
�0�2<h2><strong>Default</strong> <i>Widget</i></h2>
�0�2�0�2
�0�2</header>
�0�2
�0�2
�0�2<!-- widget div-->
�0�2<div>
�0�2�0�2
�0�2<!-- widget edit box -->
�0�2<div class="jarviswidget-editbox">
�0�2<!-- This area used as dropdown edit box -->
�0�2<input class="form-control" type="text">
�0�2<span class="note"><i class="fa fa-check text-success"></i> Change title to update and save instantly!</span>
�0�2�0�2
�0�2</div>
�0�2<!-- end widget edit box -->
�0�2�0�2
�0�2<!-- widget content -->
�0�2<div class="widget-body">
�0�2�0�2
�0�2<p> Widget comes with a default 10 padding to the body which can be removed by adding the class <code>.no-padding</code>�0�2
�0�2to the <code>.widget-body</code> class. The default widget also comes with 5 widget buttons as displayed on top right�0�2
�0�2corner of the widget header. </p>
�0�2<a href="javascript:void(0);" class="btn btn-default btn-lg"> <strong>Big</strong> <i>Button</i> </a>
�0�2�0�2
�0�2</div>
�0�2<!-- end widget content -->
�0�2�0�2
�0�2</div>
�0�2<!-- end widget div -->
�0�2�0�2
</div>

這個程序員處理起來還是相當有難度的,好吧,這還不算過分的。
執行下面的命令
dir *.js /s /w
運行結果:
?

1
2

所列文件總數:
�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2310 個文件�0�2�0�2�0�2�0�2�0�2 6,043,053 位元組

執行下面的命令:
dir *.css /s /w
運行結果:
?

1
2

所列文件總數:
�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�236 個文件�0�2�0�2�0�2�0�2�0�2 1,511,412 位元組

裡面有這么多的JS,有這么多的CSS,它們的引入順序也是非常重要的,稍有差錯,就會有js錯誤的問題。
再來看看,JS載入過程:

可以看到,要訪問大量的js,CSS,對於伺服器的壓力是比較大的,客戶端載入時間也是比較長的,程序員要釐清這些關系,也是非常困難的。
SmartAdmin重構
對SmartAdmin重構,是指按照Tiny框架的體系結構來進行重構。
第一步,釐清關系
通過整理,發現smartadmin中使用的js插件有如下之多:
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

bootstrap
bootstrapProgressbar
bootstrapSlider
bootstrapTags
bootstrapTimepicker
bootstraptree
bootstrapWizard
ckeditor
colorhelpers
colorpicker
datatables
delete-table-row
dropzone
easyPieChart
excanvas
fastclick
flot
FontAwesome
fueluxwizard
fullcalendar
ie-placeholder
ion-slider
jquery
jquery-form
jquery-nestable
jquery-touch
jqueryui
jqueryvalidate
js-migrate
jstorage
knob
markdown
maskedInput
maxlength
morris
msieFix
multiselect
notification
noUiSlider
pace
prettify
raphael
select2
selectToUISlider
smartadmin
smartwidgets
sparkline
summernote
superbox
throttle-denounce
typeahead
vectormap
x-editable

第二步:UI插件,組件包化:
比如JQuery組件包化,就是編寫下面的文件:jquery.ui.xml
?

1
2
3
4
5

<ui-components>
�0�2�0�2�0�2�0�2<ui-component name="jquery">
�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2<js-resource>/jquery/jquery-1.11.0.js</js-resource>
�0�2�0�2�0�2�0�2</ui-component>
</ui-components>

比如JQueryUI組修的包化,就是編寫下面的文件:jqueryui.ui.xml
?

1
2
3
4
5
6

<ui-components>
�0�2�0�2�0�2�0�2<ui-component name="jqueryui" dependencies="jquery">
�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2<js-resource>/jqueryui/js/jquery-ui-1.10.4.custom.js</js-resource>
�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2<css-resource>/jqueryui/css/smoothness/jquery-ui-1.10.4.custom.css</css-resource>
�0�2�0�2�0�2�0�2</ui-component>
</ui-components>

比如BootStrap組件包化,就是寫下面的文件:bootstrap.ui.xml
?

1
2
3
4
5
6

<ui-components>
�0�2�0�2�0�2�0�2<ui-component name="bootstrap" dependencies="jqueryui">
�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2<css-resource>/bootstrap/css/bootstrap.min.css</css-resource>
�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2<js-resource>/bootstrap/js/bootstrap.js</js-resource>
�0�2�0�2�0�2�0�2</ui-component>
</ui-components>

其它類推,最主要的目的就是要分清,用到哪些JS,哪些CSS,並且整理組件包之間的依賴關系,比如,上面BootStrap就依賴了jqueryui,當然jqueryui依賴了JQuery
通過上面的依賴樹Tiny框架就可以自動構建好CSS及JS資源。
因為這些資源都是放在Jar工程的main/resources目錄中,因此就直接打進jar包了。
第三步,編寫宏
比如,原來的Tab,需要涉及到html,js,編寫後續使用的宏如下:
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

#**
�0�2* JqueryUI Tab
�0�2* juiTab[1..1]
�0�2*�0�2�0�2�0�2�0�2�0�2 juiTabHeader[1..1]
�0�2*�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2 juiTabHeaderItem[1..n]
�0�2*�0�2�0�2�0�2�0�2�0�2 juiTabContentItem[1..n]
�0�2*#
�0�2
#macro(juiTab $juiTabId)
<div id="$juiTabId">
$bodyContent
</div>
<script>
�0�2�0�2�0�2�0�2$(document).ready(function(){
�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2$('#$juiTabId').tabs();
�0�2�0�2�0�2�0�2});
</script>
#end
�0�2
#macro(juiTabHeader)
<ul>
$bodyContent
</ul>
#end
�0�2
#macro(juiTabHeaderItem $juiTabContentItemId)
<li>
�0�2�0�2�0�2�0�2<a href="#$juiTabContentItemId">$bodyContent</a>
</li>
#end
�0�2
#macro(juiTabContentItem $juiTabContentItemId)
<div id="$juiTabContentItemId">
$bodyContent
</div>
#end

Ⅳ 如何讓程序員更容易的開發Web界面

早在中國IT業方興未艾之時,計算機應用系統主要以功能實現為主,幾乎沒有界面設計這個概念。時至今日,隨著計算機和網路的不斷普及,社會信息化程度日益加深,用戶和市場的不斷成熟,人們已經不僅僅滿足於「夠用」,而是更加強調「好用」「易用」;因此,不論是普通最終用戶的個人軟體,還是企業應用的大型系統,界面設計在系統構建中都成為了一個非常重要的方面。

但是,(至少在中國)由於IT業發展滯後、市場還不夠成熟等原因,在絕大多數企業中,界面設計在軟體系統開發中還沒有獲得與之重要性相匹配的一席之地,並且在企業運作和協調中也沒有形成成熟的模式和解決方案,如何做好界面設計和開發,仍然是大家不斷研究探討的一個問題。

1.工作流程

下圖,是整個開發過程中與界面設計相關的主要流程工作。

在整個系統界面的設計過程中,需要注意整個系統的統一,設計風格要一致,界面中的交互元素,從色彩、樣式到排版方式、具體位置都要具備延續性,這樣才能使用戶盡快習慣整個系統操作。

6.典型交互模式

界面交互中,根據功能不同,有不同的交互方式。應該盡量提取抽象,盡可能減少交互模式的種類,或者把交互方式盡可能設計的類似,以方便用戶快速熟悉系統。

7.Demo開發

Demo是詳細設計階段的重要成果之一,在對系統進行詳細的分析設計之後,開發出界面Demo原型,主要作用是提供給合作客戶,在基本功能、系統組成和易用性上進行測試。
本系統的Demo主要包括界面的設計製作,和部分客戶端表現層腳本的開發。為了在後面的實際業務開發中盡可能獲得重用,Demo的製作在頁面規范、CSS樣式定義和JS腳本編寫方面都嚴格遵循了系統開發規范,並在以後的代碼編寫工作中嚴格執行。
本系統整個Demo包括大約50個頁面,耗時月3周。
在後續的開發過程中,仍然要嚴格控制整個開發過程,保證整個系統界面的統一,並隨時維護更新系統界面的設計。

閱讀全文

與好程序員web設置相關的資料

熱點內容
裘錫圭pdf 瀏覽:720
android模擬器調試 瀏覽:131
sap命令大全 瀏覽:291
mysql導出數據命令 瀏覽:951
文件夾隱藏了出不來 瀏覽:562
電信網上大學源碼 瀏覽:204
rr輪轉調度演算法 瀏覽:253
我的世界無法登入伺服器怎麼辦 瀏覽:148
文件加密授權特定隱藏訪問控制 瀏覽:801
程序員劍靈官網 瀏覽:516
php調用static方法 瀏覽:934
天正命令版 瀏覽:86
聚合支付加密幣 瀏覽:313
蜜源app是什麼時候創立的 瀏覽:706
計算機專業學51單片機 瀏覽:211
程序員不接受反駁 瀏覽:299
微軟自帶的壓縮軟體 瀏覽:289
中國玩家在日本伺服器做什麼 瀏覽:51
12864和單片機 瀏覽:899
25匹空調壓縮機 瀏覽:649