顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - ebyaya

頁: [1]
1
取到檔案大小的下一步是?

在Firefox 3.6及Chrome 5以上可以使用物件的files.item(0).size一行就取得檔案大小,但卻獨缺IE不行。

TyroneYeh 大~目前很多FileUpload套件都是要裝一整套的,小弟覺的套起來有點重,即然ff及chrome都可以在幾行js
之間就完成上傳前判斷的話,這樣看起來輕很多,先不論美工如何,但目前就獨缺IE歸位,但IE的使用者又是大宗,看來
不得不放棄而使用整個套件來完成的方法了。

2
Nansen 大大真的是一語驚醒夢中人,我看了他的swf檔之後發現原來uploadify是用ActionScript在處理的,難怪他能跨瀏覽器都沒問題,
但我不是很想用Flash來處理,有沒有人有更好的方法?

3
HTML Code:
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <input name="file1" type="file" id="file1" />
  <input type="submit" name="button" id="button" value="送出" />
</form>

第一種----->不合適
<script>
function CheckFileSize() {
var activeX = new ActiveXObject("Scripting.FileSystemObject");
var doc = document.form1.FileUpload1.value;
.
.
.
</script>

第二種----->不合適
<script>
function checkFile(sizeLimit){
var me = document.all;
var img = new Image();
document.MM_returnValue = false;
.
.
.
</scirpt>


在IE8的環境下,請問我該如何用javascript或jquery取得上傳檔案的大小呢?

小弟上網拜google大神拜了二天了,一堆都是用new ActiveXObject("Scripting.FileSystemObject");物件的方法,但這並符合我要的需求
因為這在IE8沒修改安全性時會出現"Automation伺服程式無法產生物件"的錯誤,我們無法要求每一位使用者都去修改他的安全性,
還有一種方法只適合用在圖片上傳就是用new Image()物件,可以由他的fileSize取得圖片上傳大小,但僅限圖片其他類型檔案就不行了,
在Google搜尋裡也是有很多人說做不到,不過小弟在jquery的外掛uploadify裡有看到他是有辦法取得檔案大小及名稱的(http://www.uploadify.com/demo/),
而且他在IE8、Firefox、chrome都是可以取得檔案大小的,這代表是有方法可以取得檔案大小的只是不知道用什麼方式而以,小弟試著去解他的code
,但不材無法得知他是用何方法達成的,不知道各位版大是否知道方法呢?

4
抱歉,是我自己豬頭,用二個div標籤去包住物件,然後在給他上z軸圖層結果上下二個物件都會執行一次,
上層有name值下層沒有name值,所以才會出現undefind的現像,目前已決解這個問題了,謝謝各位版大。

5
網頁技術 / javascript 函數裡的變數傳遞?
« 於: 2010-04-02 14:22 »
各位版大,目前我卡到一個javascript的問題如下

function f1(obj,name){
    obj.onclick=function(){ alert(name); }
}

我要如何把name這個參數傳到裡面的function去呢?請各位大大幫幫忙,謝謝。

6
網頁技術 / 網頁如何附加元件?
« 於: 2010-01-30 12:24 »
請教一個網頁的問題,先說需求

我在web server上有一支可執行檔,希望client端在瀏覽網頁時下載並安裝。

*這是在公司內部使用,且這支執行檔是可被信任的,所以不討論什麼安全性問題

比方我們一般用瀏覽器在看有flash的網頁時,如果瀏覽器沒有安裝Flash player時,
他會要求你安裝,這時在瀏覽器的上面會出現相關ActiveX或附加元件的訊息,而我要
的就是類似這樣的功能。

在使用者第一次瀏覽時,出現要使用者安裝,只要安裝過一次,以後就不用在安裝,
[attachment=1]
而且我希望Firefox也能支援。

在網路上爬過文大都是ActiveX物件,但這firefox可能就不行了。

不知各位大大有沒有什麼解,或者是方向可讓小弟參考?

註:server程式語言PHP

7
Embedded 討論版 / 關於Brazilfw 的 string模組!!
« 於: 2009-07-15 16:33 »
小弟分享一下心得,最近在研究brazilfw,想要做過濾特定網址,在網路上爬了很多文,發現很多文章寫的是這樣寫的
進入進階防火牆設定->編輯自定義防火牆規則,然後在裡面加入如下指令:
iptables -I FORWARD -s 192.168.1.0/24 -m string --string "com" -j DROP  #禁止上.com的網站

寫的好像是那麼一回事,可是經過我上brazilfw官網下載回來brazilfw2.31的版本回來後,安裝完進入console畫面下達如上指令出現,
http://www.brazilfw.com.br/forum/viewtopic.php?f=46&t=63972--brazilfw2.31官方下載

iptables v1.3.4-20060123: Couldn't find match `string'

Try `iptables -h' or 'iptables --help' for more information.

這下好笑了brazilfw的iptables跟本就沒有支援string這個模組,真不知道網路上那些剪來貼去的文章到底在寫些什麼,
在brazilfw人性化的介面下沒辦法把錯誤訊息顯示出來,所以使用者就覺的有打進去就有了,真的是"拜"心安的,不大
網路上的各位大大們有沒有決解方案可以讓brazilfw的iptables支援string模組?


8
代碼: [選擇]
#in RH9
[root@localhost C]# hdparm -i /dev/sda

/dev/sda:
 operation not supported on SCSI disks

#in CentOS 5
[root@localhost C]# hdparm -i /dev/sda

/dev/sda:
 HDIO_GET_IDENTITY failed: Invalid argument


學長大大抱歉是我搞錯了,IDE和SATA是OK的,應該是SCSI硬碟不支援^^

9

多年前寫的 code

代碼: [選擇]
#include <stdio.h>
#include <sys/ioctl.h>
#include <linux/hdreg.h>
#include <sys/fcntl.h>

int main()
{
   struct hd_driveid id;

   int fd = open("/dev/hda", O_RDONLY|O_NONBLOCK);

   if (fd < 0) {
     perror("/dev/hda");
     return 1; }

    if(!ioctl(fd, HDIO_GET_IDENTITY, &id))
     {
       printf("Serial Number=%s\n",id.serial_no);
     }

    return 0;
}

測試結果:

代碼: [選擇]
# ./a.out
Serial Number=WD-WCAMR1807004

大大多謝你的code,實際run了之後可用,
但有一個問題請教,此code run在ide有效,
run在sata無效,如何改?(已改過/dev/sda)

10
經過小弟契而不捨的研究之後,終於真相大白了,就Intel的文件上看來所謂的CPUID其實分成
很多個部份。

第一當EAX=0時,所取得的是CPU的廠商代號,如Pentium III 代號為 GenuineIntel

第二當EAX=1時,所取得的是CPU的型號、類型、家族、功能等

第三當EAX=3時,所取得的是特徵碼,分佈於ECX及EDX裡

所以如果你是要取得CPU的唯一值,單取EAX=1是不夠的,依照Intel的說法
是必需把EAX=1的EAX值 + EAX=3的EDX + ECX 共96bit的code如此才能成為
CPU的唯一值。

請參照INTEL文件 http://www.intel.com/Assets/PDF/appnote/241618.pdf

11
經過我研究了一晚之後,找遍了很多網站的資料,才發現不管是lshw還是dmidecode
他們的源代碼裡都是以run一個組言來取得這些資料,問題是同一台機器上面lshw取得
的CPUID與dmidecode所取得的居然不一樣,這下頭大了,到底誰才是對的??

但我自run debug讀取AX裡的資料是跟dmidecode所取得的前二碼是一樣的,所以我比
較相信dmidecode是對的,問題是AX裡應該是批號,那序號呢?比如下面
F8 06 00 00 FF EB EA 0A   ←由dmidecode所取得
-----          ------------
↑批號          ↑這應該是序號

這FF EB EA 0A 我還沒研究出來是如何取得的??

12
多謝大大的回應,這個問題我找好久,上網爬文都只有Delphi和C#的文章,就是沒有C的文章,
難道C沒有自帶的函數可以解決嗎?

CPU ID /proc/cpuinfo 這我查過了裡面是沒有CPU的序號的
hdparm -i (smartctl -i)倒是可以讀取硬碟序號,不過這還是沒辦法由自行開發的程式來解決

不過dmidecode倒是給了我一線生機,他可以取得到cpu的id,不過他取主機板序號時(baseboard),
還是取不出來,呈現 xxxxxxxxx 不然就是空白,看來要用C取個主機板序號還真難 ;D

13
請教各位大大,如何用C語言取得機器的硬體資訊,如主機板序號、硬碟序號、CPU的ID等,
不知是否有範例可以參考,我的環境是CentOS 5.2,gcc-4.1.2-42

14
嗯~已自行解決,上面大大說的對~我找了好多文章也是指向saslauthd -r 就可以,
但都沒有明確說明如何設定,經我多次測試之後發現在/etc/sysconfig/saslauthd.conf
裡面的FLAGS=-r 這樣就行了

15
Linux 討論版 / SMTP 寄信使用者認證(PAM)??
« 於: 2009-03-19 02:56 »
請教一下各位大大
目前我使用Outlook寄信,Postfix + sasl + pam → Mysql 去做使用者認證,
我在outlook的帳戶裡面設定帳戶名稱為test@abc.com這種帶網域的全名,
而我希望pam能以test@abc.com全名去mysql認證,但目前pam都只會以test
不帶網域去mysql認證,不知各位大大有無解決方案???

照網路上的做法如下 /etc/pam.d/smtp
auth sufficient pam_mysql.so user=root passwd=1234 host=localhost db=mail table=user usercolumn=mail passwdcolumn=password crypt=0
account required pam_mysql.so user=root passwd=1234 host=localhost db=mail table=user usercolumn=mail passwdcolumn=password crypt=0

16
我也是覺的樓主,看你問的問題就知道你應該對Linux很佰生吧,我個人覺的你在這問的問題都是你腦海中片斷的東西,
我同意上面大大所說的,你先買本Linux的書來看看讀讀吧,在來發問會比較有深度點。 ;)

17
jal大大別鬧了你~呵呵

第一 APT/YUM 這二者都是用來管理RPM的,但是每個distribution的預設都不一定會一樣,
而CentOS 5.2的預設是使用YUM,所以你在CentOS 5.2要使用apt-get別鬧了,但也不是
不行啦,去安裝就好了。

第二 你要搞清楚什麼是MTA什麼是MUA,Debian的預設MTA為EXIM,所以你在網上找到的資料
都是支援Debian的,而CentOS 5.2的預設MTA為Sendmail。

第三 EXIM的優點應該是更容易更簡單設定,而不是更安全哦,小弟目前使用的是Postfix,要做
到EXIM的Callout/Callback功能也是可以透過設定做到的哦,對Spamassassin的支援Postfix
也是有內建的,至於防毒的功能更不在話下。

第四 openwebmail他不能算是一套MTA,或許只能算的上是一種MUA,小弟沒裝過EXIM,不過
小弟認為用EXIM + openwebmail應該也不成問題

18
小弟最近在公司需要建置一台VPN Server,在網路上找了很多資料目前無法解決,

因為老闆常常需要到處出差,所以帶著筆電可能常常在客戶的公司內網透過客戶的

NAT連上Internet,所以NAT並不一定是那一個系統或廠牌(有可能是Windows server、

有可能是linux nat、硬體firewall的nat、軟體firewall的nat都是有可能的),在不

考慮是否firewall有擋住的情況下,小弟選用較安全的L2TP Over IPsec的方式,而

不使用PPTP的方式來連線。

小弟的環境如下
VPN Server : CentOS 5 (內建ipsec-tools-0.6.5-9.el5)
        xl2tpd-1.1.09-1
        ppp-2.4.4-1.el5

Client : Windows XP SP3 (由新增連線精靈增加出來的VPN連線)

已成功的架構如下(Client to Site Transpost)

Client(winXP-public ip) → Internet → VPN Server → File Server


小弟想要的架構如下(目前無法成功)

Client(winXP-虛擬ip) → NAT → Internet → VPN Server → File Server

多了一個NAT之後在VPN Server上會因為SDP裡記載著虛擬IP而無法接下來的IPSEC
連線。

在網上的資料大都有包含Openswan這個套件,但因CentOS 5內建就有ipsec-tool
這個套件,所以ipsec就直接交由這個套件來處理即可,不需在額外加openswan套
件。

在log檔裡面的訊息如下

1  Jan 22 09:57:34 ftp racoon: INFO: respond new phase 1 negotiation: 123.204.71.8[500]<=>163.20.1.1[500]
2  Jan 22 09:57:34 ftp racoon: INFO: begin Identity Protection mode.
3  Jan 22 09:57:34 ftp racoon: INFO: received broken Microsoft ID: MS NT5 ISAKMPOAKLEY
4  Jan 22 09:57:34 ftp racoon: INFO: received Vendor ID: FRAGMENTATION
5  Jan 22 09:57:34 ftp racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-02
6  Jan 22 09:57:34 ftp racoon: INFO: ISAKMP-SA established 123.204.71.8[500]-163.20.1.1[500] spi:8ed4558d7d25a452:e59981fbd8559b23
7  Jan 22 09:57:34 ftp racoon: INFO: respond new phase 2 negotiation: 123.204.71.8[500]<=>163.20.1.1[500]
8  Jan 22 09:57:34 ftp racoon: INFO: Update the generated policy : 192.168.1.2/32[1701] 123.204.71.8/32[1701] proto=udp dir=in
9  Jan 22 09:57:34 ftp racoon: WARNING: authtype mismatched: my:hmac-sha peer:hmac-md5
10 Jan 22 09:57:34 ftp racoon: INFO: IPsec-SA established: ESP/Transport 163.20.1.1[0]->123.204.71.8[0] spi=213718535(0xcbd1607)
11 Jan 22 09:57:34 ftp racoon: INFO: IPsec-SA established: ESP/Transport 123.204.71.8[0]->163.20.1.1[0] spi=746561583(0x2c7fa02f)
12 Jan 22 09:57:34 ftp racoon: ERROR: such policy does not already exist: "192.168.1.2/32[1701] 123.204.71.8/32[1701] proto=udp dir=in"
13 Jan 22 09:57:34 ftp racoon: ERROR: such policy does not already exist: "123.204.71.8/32[1701] 192.168.1.2/32[1701] proto=udp dir=out"

14 Jan 22 09:57:52 ftp racoon: INFO: purging ISAKMP-SA spi=8ed4558d7d25a452:e59981fbd8559b23.
15 Jan 22 09:57:52 ftp racoon: INFO: purged ISAKMP-SA spi=8ed4558d7d25a452:e59981fbd8559b23.

我知道是12跟13行那裡出了問題,因為記載了虛擬ip而導致ESP無法解碼,但如何設定我就不知道了,
實在不解為何IKE在Quick mode時會以虛擬ip來記錄,不知有那位高手能指點一下迷津。

頁: [1]