|
|
louisnguyen27 wrote:
Ví dụ như sau: Lấy dãy số có N chữ số đó trừ đi một dãy có N-2 chữ số 0 và 1 chữ số 7 (7000....00)trừ liên tục cho đến khi kết quả cuối cùng. Với phép toán như thế này mình sẽ không cần quan tâm tới N-2 chữ số trong dãy ban đầu, mình chỉ cần quan tâm tới 2 chữ số đầu trừ đi cho 7 sẽ được bao nhiêu vì các số còn lại đều giữ nguyên giá trị của nó (vì nó trừ đi 0). Nếu áp dụng theo cách này thì không phải 500 số mà 1000 số cũng có thể giải được mà không cần đụng chạm giải thuật số lớn hay số nhỏ:
gán a1 đến a1000 là các số trong dãy số 1000 số: lặp a1a2 trừ m lần 7 đến khi chỉ còn một số ở hàng đơn vị là b2. Ghép b2 với a3 thành cặp b2a3 tiếp tục trừ k lần 7 đến khi còn lại b3 như b2 ở trên. Lại có cặp b3a4....
Vòng lặp con tối đa 14 lần và vòng lặp mẹ 1000 lần -> chưa tới 14000 vòng lặp bạn đã có kết quả như ý muốn và các phép toán cũng chỉ thực hiện trên hàng chục và hàng đơn vị.
Cách giải của bạn sáng tạo lắm
Mình nghĩ thay vì sử dụng thêm cái vòng lập con (max 14 lần) thì nên dùng phép toán mod (lấy phần dư) khi chia cho 7,
Lúc này bài toán có vẻ giống dùng cách chia bằng tay, nhưng dù sao thì thuật toán cũng rất thú vị
có thuật giải từ dấu hiệu chia hết cho 7
-cho mảng tuần hoàn và mảng số a[ ] (a[1] hàng đơn vị, a[2] hàng chục, ..)
1 3 2 -1 -3 -2 1 3 2 -1 -3 -2.......
-Tính T =
1*a[1]+
3*a[2]+
2*a[3]+
-1*a[4]+
....
Nếu T chia hết cho 7 thì a chia hết cho 7
|
|
|
khatkhaotrithuc wrote:
Em xin chào bác!!
Với bài tập của bạn, em chỉ nghi được một vài điểm cần được tối ưu bởi lập trình viên:
1. Viết lại hàm giai_thua bằng vòng lặp.
2. kq+=t;
3.++j;
Còn hàm pow(x,j)-> em nghĩ tối ưu sẳn cho chúng ta!.
Với hàm giai_thua em nghĩ nên dùng macro để không tốn "thời gian chuyển ngữ cảnh không cần thiết".
Tới đây em hết "bít", rất mong được sự chỉ giáo từ bác. Xin chân thành cảm ơn!!
j=1
giai_thua=1
pow=1
kq=0
khi t>=epxelon
1. t = pow/giai_thua
2. kq=kq+t
3. pow = pow*x
4. giai_thua = giai_thua*j
5. j++
|
|
|
Pascal không thể can thiệp vào win nhưng có thể nhờ một chương trình khác can thiệp. Đây là bài hướng dẫn đầy đủ của LovePascal bên diendantinhoc.com
http://www.diendantinhoc.com/index.php?showtopic=11822&st=0&p=42443entry42443
|
|
|
lupin212 wrote:
cài này đc cái tiện,ko phải NAT port,cài đặt dễ dàng,nhưng mà có cái bất tiện,nó ko cho mình chọn độ phân giải thích hợp ---> nó siêu lag,giật giật,kể mà đc chọn độ phân giải thì nó đúng là số 1 .
Vào Extras > Options > Presentation --> Display nó cho bạn chọn màu sắc và tối ưu tốc độ đó bạn.
Độ phân giải thì phải chỉnh ở máy được remote.
|
|
|
hêhê, tui ghi
Code:
plaintext+key+f() = ciphertext (Với f() là một hàm để mã hóa)
nghĩa là dùng hàm f() rồi xào nấu cái key với cái plaintext thế nào đó để ra ciphertext còn bạn ghi
facialz wrote:
plaintext + ciphertext + f(key) == 0 (2)
Nếu vậy, thì cũng có thể ghi plaintext + ciphertext + f(key) == 1 hoặc 2 hoặc xyz gì đó cũng chẳng sai
Còn cái f() chỉ là một hàm tượng trưng, trong cái f() đó còn có thể bao gồm các hàm con f1(..), f2(..), ..., fn(..) với mỗi fi(..) là một hàm khác nhau; trong đó có chứa hoặc không chứa các tham số khác nhau hoặc giống nhau; tham số có thể là bất kì cái gì, có thể là kết quả của fj(..) nào đó, có thể là chính plaintext, hoặc....,
nói đi nói lại là thế.
Tui đã nói, cái key [f(i)] ở trên chỉ là một ví dụ đơn giản thôi, còn chuyện bàn về thuật toán mã hóa thế nào cho cứng, an toàn hay không an toàn thì muôn vàn, rất rất nhiều, tui nghĩ không nên đi sâu vào hơn trong Topic này.
Còn chủ Topic lặn đâu mất tiêu rồi, tới giờ cũng chưa biết là làm cách nào mà B = A xor key mà không tìm ngược lại được nữa???
|
|
|
facialz wrote:
seraphpl wrote:
facialz wrote:
seraphpl wrote:
Tui nghĩ là "EFG" giả sử chuyển sang nhị phân là 10111 thì cũng bằng 00..0010111, rồi lúc đó thì muốn xor thế nào mà chẳng đc )
Tui lại nghĩ là "EFG" giả sử chuyển sang nhị phân là 10111 thì không bằng 00..0010111, bởi vì chúng là 2 string khác độ dài.
Đã chuyển sang nhị phân rồi thì 10111 = 00..0010111 (Đây là 2 số nhị phân chứ không phải 2 string)
Số nào cũng biểu diễn bằng string. Số nhị phân không phải là ngoại lê.
Tui không biết là bạn chuyển cái chuỗi "EFG" sang nhị phân bằng hình thức nào?
Còn tui thì chuyển theo cách A= B=1 C=10 .... AA=11011... (Đây chỉ là một ví dụ đơn giản cho bảng mã A..Z, chưa tính các kí tự khác)
Do đó tui nghĩ là 10111 = 00..0010111, và bác nói nó không bằng nhau thì tui không biết là theo dạng chuỗi thì 00..0010111 sẽ thành cái gì?
facialz wrote:
Và khi bác coi chúng là số, bác có thu được gì mới mẻ đâu ngoài việc thực hiện được phép XOR (hình thức) với 00..0010111.
Tui không thấy câu này có liên quan rõ ràng gì tới vấn đề đang tranh luận. Nên xin miễn
facialz wrote:
seraphpl wrote:
facialz wrote:
Do đó khi key ngắn hơn plaintext, phép XOR không thể thi hành. Nếu nối thêm vào một string 00..00 để làm cho key dài bằng plaintext thì phép XOR sẽ thực hiện được, về hình thức, nhưng không làm thay đổi bản chất vấn đề là đoạn plaintext được XOR với 00..00 sẽ không được mã hóa. Bản chất vấn đề cũng không thay đổi nếu phép "nối dài bằng 00...00" được thay bằng phép "lặp đi lặp lại key đến khi thu được một string dài bằng plaintext". Trong cả 2 trường hợp, độ bất định của key không thể tăng lên mà độ phức tạp cũng chẳng cứu vãn được điều gì.
Ngay từ đầu, nên bám sát cái đề, "abcd...k123" cũng được gọi là khác "abcd...k456" và hoàn toàn có thể nói "abcd...k456" là chuỗi mã hóa của "abcd...k123".
Tùy bác. Bác coi mã hóa một nửa, thậm chí không mã hóa là những dạng đặc biệt của mã hóa cũng được. Chẳng qua cũng chỉ là một định nghĩa. Nó cũng chẳng đem lại được định lý nào mới mà chỉ đem đến sự nhập nhằng.
Cái tui đang nói là về bài toán của Topic, còn bạn xem cách mã hóa này là không hay hay không tốt thì chỉ là nhận định của riêng bạn_ chẳng liên quan gì cả, và là một vấn đề khác, tui không biết trước khi bạn nhận định mấy cái này là "nhập nhằng" thì không biết bạn học mã hóa qua cái gì, còn tui thì chỉ xem nó là đơn giản cho người mới bắt đầu.
facialz wrote:
seraphpl wrote:
Còn việc làm độ bất định của key tăng lên nhiều hay ít thì lại là 1 vấn đề khác.
Và đây, sự nhập nhằng. Độ bất định và độ phức tạp để đánh giá tính bảo mật. Khi viết chương trình mã hóa, người ta mong đợi ở đó tính bảo mật. Mã hóa mà lờ bảo mật đi thì mã hóa làm gì?
Tại lúc đầu tui thấy bạn không muốn bàn, sợ làm loãng topic gì đó mà
facialz wrote:
Luôn tiện, độ bất định của key không tăng, chứ không phải là nó tăng nhiều hay tăng ít. E rằng chỗ "nhập nhằng" này hơi bị cơ bản đấy.
Tăng thì phải có tăng nhiều hay tăng ít chứ, nêu không tăng mà không có tăng nhiều hay tăng ít thì theo tui là nên dùng "không đổi"
facialz wrote:
seraphpl wrote:
facialz wrote:
Cách duy nhất để làm đúng, mà vẫn đảm bảo theo sát phương trình plaintext ^ ciphertext ^ key == 0, là dùng 1 key dài hơn hoặc bằng plaintext, hoặc hạn chế plaintext để nó không dài hơn key
key có độ dài nhỏ hơn độ dài plaintext thì cái phương trình plaintext ^ ciphertext ^ key = 0 cũng chẳng sai.
Sự nhập nhằng được lặp lại. "Mã hóa để bảo mật" bị nhập nhằng với "mã hóa chẳng để làm gì". Đúng đắn ở mấy phép XOR này là hình thức bên ngoài. Sai lầm ở trong nội dung. Tui đã nói từ bài trước rùi đó.
Như trên. --> Miễn
facialz wrote:
seraphpl wrote:
Cuối cùng, key càng dài thì kết quả càng khó đoán hơn là key ngắn. Nhưng ngược lại, key ngắn thì dung lượng để lưu key là nhỏ hơn key dài. Và trong thực tế, để mã hóa dữ liệu lớn thì chẳng lẽ cái chương trình mã hóa lại có dung lượng lớn hơn dữ liệu cần mã hóa.
Sự nhập nhằng lặp lại một lần nữa. Thực tế cái gì ở đây? Trong thực tế, khi đã mã hóa thì người ta quan tâm đến tính bảo mật. Khi làm ra một thuật toán "mã hóa" mà một key có độ dài thực tế không mã hóa được dữ liệu có độ dài thực tế thì thực tế hơn cả là tìm thuật toán khác. Hoặc trong trường hợp bị khống chế bởi điều kiện của đề bài như trường hợp này, thì chỉ ra giới hạn của thuật toán của mình. Mà trong trường hợp này giới hạn ấy là độ dài của dữ liệu. Còn cố định nghĩa lại khái niệm "mã hóa" để la lớn rằng "thuật toán của tui vẫn là thuật toán mã hóa còn nó có bảo mật hay không lại là chuyện khác", cái đó e rằng không phải là thực tế.
Bạn đã cắt cái qutoe trong 1 ý của tui thành 2 phần rồi ->
facialz wrote:
seraphpl wrote:
Và tui nghĩ là
plaintext+key+f() = ciphertext (Với f() là một hàm để mã hóa)
Kẻ tấn công biết hàm f. Và f không có đối số thì chỉ là một hằng số. Và nếu giả sử f có đối số mà đối số ấy không phải là key thì kẻ tấn công cũng biết luôn đối số này. Hi vọng bác đã tính đến những điều đó khi phát biểu ý nghĩ trên.
Tại sao kẻ tấn công biết hàm f()?
Cái f() ở bài trước là tui chỉ giả sử đơn giản thôi, còn lại thì có muôn vàn cách để làm ra f(),
Tui đâu có pâhn tích gì cái f(). Tui chưa hiểu rõ ràng ý của bạn về phần này?
|
|
|
facialz wrote:
seraphpl wrote:
Tui nghĩ là "EFG" giả sử chuyển sang nhị phân là 10111 thì cũng bằng 00..0010111, rồi lúc đó thì muốn xor thế nào mà chẳng đc )
Tui lại nghĩ là "EFG" giả sử chuyển sang nhị phân là 10111 thì không bằng 00..0010111, bởi vì chúng là 2 string khác độ dài.
Đã chuyển sang nhị phân rồi thì 10111 = 00..0010111 (Đây là 2 số nhị phân chứ không phải 2 string)
facialz wrote:
Do đó khi key ngắn hơn plaintext, phép XOR không thể thi hành. Nếu nối thêm vào một string 00..00 để làm cho key dài bằng plaintext thì phép XOR sẽ thực hiện được, về hình thức, nhưng không làm thay đổi bản chất vấn đề là đoạn plaintext được XOR với 00..00 sẽ không được mã hóa. Bản chất vấn đề cũng không thay đổi nếu phép "nối dài bằng 00...00" được thay bằng phép "lặp đi lặp lại key đến khi thu được một string dài bằng plaintext". Trong cả 2 trường hợp, độ bất định của key không thể tăng lên mà độ phức tạp cũng chẳng cứu vãn được điều gì.
Ngay từ đầu, nên bám sát cái đề, "abcd...k123" cũng được gọi là khác "abcd...k456" và hoàn toàn có thể nói "abcd...k456" là chuỗi mã hóa của "abcd...k123". Còn việc làm độ bất định của key tăng lên nhiều hay ít thì lại là 1 vấn đề khác.
facialz wrote:
Cách duy nhất để làm đúng, mà vẫn đảm bảo theo sát phương trình plaintext ^ ciphertext ^ key == 0, là dùng 1 key dài hơn hoặc bằng plaintext, hoặc hạn chế plaintext để nó không dài hơn key
key có độ dài nhỏ hơn độ dài plaintext thì cái phương trình plaintext ^ ciphertext ^ key = 0 cũng chẳng sai.
Cuối cùng, key càng dài thì kết quả càng khó đoán hơn là key ngắn. Nhưng ngược lại, key ngắn thì dung lượng để lưu key là nhỏ hơn key dài. Và trong thực tế, để mã hóa dữ liệu lớn thì chẳng lẽ cái chương trình mã hóa lại có dung lượng lớn hơn dữ liệu cần mã hóa.
Và tui nghĩ là
plaintext+key+f() = ciphertext (Với f() là một hàm để mã hóa)
|
|
|
hê hê đọc đi đọc lại một hồi mới biết là mình chuối và bài chuối thế nào.
Muốn làm được cái bài trên trọn vẹn và chính xác hoàn toàn thì
<độ dài A> lớn, bằng, nhỏ <độ dài key>
Thật vậy
Th1 : =
key = A xor B
Th2: >
key = A xor B
Thật sự thì A xor B sẽ có dạng 00..00<key>
Do đó cũng không làm sai bài toán
Trường hợp cuối cùng <độ dài A> < <độ dài key>
thì key = 00..00<A> xor B
facialz wrote:
seraphpl wrote:
Bạn mã hóa từ chuỗi A sang chuỗi B bằng cách nào?
Bạn thử ví dụ: chuỗi A là "ABCD", và key_C là "EFG" rồi bạn tìm chuỗi B từng bước xem sao.
Trường hợp này tui nghĩ là không mã hóa được vì key ngắn hơn plaintext.
Tui nghĩ là "EFG" giả sử chuyển sang nhị phân là 10111 thì cũng bằng 00..0010111, rồi lúc đó thì muốn xor thế nào mà chẳng đc )
Tui chỉ không hiểu là làm sao chủ TOPIC chuyển được A sang B (từ key) mà lấy A xor B không ra key.
|
|
|
facialz wrote:
"EFGEFGEFGEFGEFGEFGEFGEFGEFGEFGEFGEFGK" là key có độ dài 37 ký tự. Trong trường hợp này cần biết khoảng 37 ký tự của plaintext để có thể khám phá toàn bộ key. Nếu plaintext dài hơn 37 ký tự thì mật mã vẫn bị phá một cách ngớ ngẩn.
Bác đừng nghĩ ra thêm cái key 100 ký tự nữa nhé. 100 hay 1 triệu cũng thế thôi.
Bạn dùng cái gì để biết là key có 3 kí tự, 37 kí tự, 100 kí tự hay 1 triệu kí tự khi mà bạn đang đi tìm nó )
facialz wrote:
seraphpl wrote:
facialz wrote:
Trường hợp này tui nghĩ là không mã hóa được vì key ngắn hơn plaintext.
=> Củ chuối không có nghĩa là không mã hóa được
Nó "củ chuối" là một chuyện, không mã hóa được là chuyện khác.
Mời bạn xem lại câu khẳng định màu đỏ của chính mình.
facialz wrote:
Khi mã hóa bằng phép tính A ^ B thì A và B phải có cùng độ dài.
Cái chúng ta đang bàn luận là A và key, chớ không phải A và B
facialz wrote:
seraphpl wrote:
Lúc này, B [ i ] = A [ i ] xor key [f(i)]
Tui chưa thấy ra nó củ chuối chỗ nào, bạn vào chỉ ra xem.
Công thức này đã khá hơn. Muốn biết nó "củ chuối" không thì còn phải phân tích, nhưng chắc chắn là lạc đề. Vì đề bài là lấy plaintext XOR với key chứ không XOR với một chuỗi được sinh ra từ key. Và hai cách này là cực kỳ khác nhau. Bác hiểu chưa?
Mời bạn đọc kĩ lại cái phép XOR
|
|
|
facialz wrote:
seraphpl wrote:
facialz wrote:
seraphpl wrote:
Bạn mã hóa từ chuỗi A sang chuỗi B bằng cách nào?
Bạn thử ví dụ: chuỗi A là "ABCD", và key_C là "EFG" rồi bạn tìm chuỗi B từng bước xem sao.
Trường hợp này tui nghĩ là không mã hóa được vì key ngắn hơn plaintext.
Tui nghĩ là mã hóa được. 1 cách tui nghĩ là:
giả sử A = 'ABCD', key = 'EFG'
Gọi dkey là độ dài của key. Ở ví dụ trên là 3
B[ i ] = A[ i ] xor key[(i-1) mod dkey+1]
(A[], B[], key[] là giá trị của A, B, key sau khi được chuyển sang hệ nhị phân, hoặc thập phân,....)[/i]
Cách này có vẻ giống như là dùng key lặp đi lặp lại. Ví dụ khi mã hóa plaintext "ABCDEF..." thì key "EFG" sẽ được dùng như "EFGEFG...". Như thế chỉ cần biết khoảng 3 ký tự của plaintext là đủ để khám phá key, từ đó khám phá toàn bộ plaintext và phá tan mật mã một cách tầm thường.
Tui biết, ngay chính bản thân cái đề mã hóa nhiều plaintext bằng XOR với một key cố định đã là "củ chuối" lắm rồi. Nhưng cũng không vì thế mà ta còn ráng làm cho nó "củ chuối" hơn. ;-\
hơ hơ, tui nghĩ là nên suy nghĩ kĩ trước khi nói
giả sử key là "EFGEFGEFGEFGEFGEFGEFGEFGEFGEFGEFGEFGK" thì tui không biết là bạn giải cái key khi biết 3 kí tự như thế nào.
facialz wrote:
Trường hợp này tui nghĩ là không mã hóa được vì key ngắn hơn plaintext.
=> Củ chuối không có nghĩa là không mã hóa được
<Edit thêm vào phần này>
Nghe bạn nói vậy, tui bèn tìm hiểu thêm 1 chút về ánh xạ
http://vi.wikipedia.org/wiki/%C3%81nh_x%E1%BA%A1
Tui nghĩ là cần tìm toàn ánh f() sao cho X -> Y (Với X là tập hợp các số tự nhiên, Y là tập hợp các số tự nhiên [1..<số phần tử của key>])
Với mỗi vị trí i của A thì ta tìm được 1 vị trí f(i) thuộc [1..<số phần tử của key>]
Lúc này, B [i] = A [i] xor key [f(i)]
Tui chưa thấy ra nó củ chuối chỗ nào, bạn vào chỉ ra xem.
|
|
|
Tal wrote:
Giả sử
- Input String là: A
- Output String là: B
Mã hóa dùng phép toán xor, ta có thể tính toán độ dài của chuỗi con nhập vào để xor với key. Ví dụ:
- Chọn từng ký tự một của A để mã hóa (độ dài chuỗi con là 1)
- Chọn hai ký tự một của A để mã hóa (độ dài chuỗi con là 2)
....
Trong trường hợp này, chuỗi con phải có độ dài bằng độ dài của key. Chuỗi cha nếu như có độ dài không chia hết cho độ dài key, ta phải thêm phần padding (để độ dài A là bội của key)
Ta nhận thấy là dù key thế nào thì chuỗi A và B phải có độ dài bằng nhau. Nhận xét nữa là thứ tự chuỗi con của A và B là giống nhau.
Vậy thì ta sẽ chọn các chuỗi con tương ứng của A, B để xor với nhau -> key.
(Chú ý nữa là nếu key đúng thì khi xor đến lần thứ 2, ta sẽ nhận được key giống key của lần xor thứ 1, còn nếu key sai -> chuỗi con ta chọn là sai. Loại bỏ vòng lặp)
Ví dụ:
A = 0000
B = 1111
(key=1)
chuỗi con =1 -> key = 1
A = 1101
B = 0111
(key=10)
chuỗi con = 1 -> key1 = 1, key2 = 0 -> chuỗi con độ dài 1 là sai. Tăng giá trị chuỗi con
chuỗi con = 2 -> key1 = 10, key2 = 10 -> Đúng. Vậy key = 10
Số lượng chuỗi con là n. Vì vậy ta hoàn toàn có thể đoán được key.
Đây chỉ là một trường hợp_1 cách để mã hóa trong vô vàn cách.
Phải đợi chủ topic đưa ra cái cách mà chuyển từ A->B
facialz wrote:
seraphpl wrote:
Bạn mã hóa từ chuỗi A sang chuỗi B bằng cách nào?
Bạn thử ví dụ: chuỗi A là "ABCD", và key_C là "EFG" rồi bạn tìm chuỗi B từng bước xem sao.
Trường hợp này tui nghĩ là không mã hóa được vì key ngắn hơn plaintext.
Tui nghĩ là mã hóa được. 1 cách tui nghĩ là:
giả sử A = 'ABCD', key = 'EFG'
Gọi dkey là độ dài của key. Ở ví dụ trên là 3
B[i] = A[i] xor key[(i-1) mod dkey+1]
(A[], B[], key[] là giá trị của A, B, key sau khi được chuyển sang hệ nhị phân, hoặc thập phân,....)
|
|
|
bienxanhlunglinh wrote:
Em chỉ làm được Dialog1: Mã hóa chuỗi A nhập vào được chuỗi mã hóa B, Dialog2: Giải mã ngược lại. Em không làm được khi phối hợp mã hóa Chuỗi A + giá trị của Key_C để có được chuỗ Mã hóa B, từ đó ta Lấy Chuỗi A Xor với B thì sẽ tìm ra được Key_C đã gán trước trong code chương trình ?
Bạn mã hóa từ chuỗi A sang chuỗi B bằng cách nào?
Bạn thử ví dụ: chuỗi A là "ABCD", và key_C là "EFG" rồi bạn tìm chuỗi B từng bước xem sao.
EM hỏi thêm (Mở rộng): Nếu sau khi hoàn tất được yêu cầu trên (mã hóa: A + Key = B, vậy Kết hợp A ^ B ==>Key_C ) thì có thể mở rộng thêm chút là :
Coi như mình là người dùng, không biết giá trị Key_C, thể gán lặp for cho 2 biến i và j cho 2 thằng này chạy mụch đích của là sẽ đi tìm từng giá trị của Key? theo phương pháp Key_gen. Có được không các Anh?
Tui nghĩ là không khả thi, có rất nhiều cái key_C mà bạn dùng như vậy cũng giống như là Brute force.
Cái đó chỉ là 1 vấn đề, còn 1 vấn đề nữa là mình chưa biết người ta mã hóa theo kiểu nào, cho dù có thử đúng key mà mình giải mã theo cách khác cũng vậy.
|
|
|
Khoảng 1h tối hôm qua (22/2) em có post 1 bài trong Box tán gẫu, tiêu đề là
"2 câu thơ Tago"
Nhưng hôm nay 8h (22/2) em vào lại box tán gẫu thì không thấy bài post của mình đâu. Tìm kiếm bằng HVA thì không thấy, em ra google gõ "tago site:hvaonline.net" thì ra
http://www.google.com.vn/search?q=tago+site%3Ahvaonline.net&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
em vào thẳng trực tiếp thì web HVA báo không tồn tại trang này, vào cache của google cũng không được.
Cho em hỏi vấn đề này là như thế nào, có lỗi gì chăng?
P.s: Lúc đó em thấy có 1 bài reply của quanta
|
|
|
levinthan wrote:
Hic . Mình đã gỡ hết các file flash SWF xuống rồi mà vẫn bị đánh bầm dập. Liệu các file IMG có thể bị đánh không vậy comale ? Hay tất cả mọi thứ đều có thể bị DDOS ???
gọi B là web bị dos
Mình hiểu Xflash là mượn 1(hay nhiều) trang web(gọi là A) nhiều người truy cập, rồi gắn cái flash có độc trên đó. Mỗi người truy cập vào trang web A thì sẽ đồng thời mở 1 request tới trang web B (trong web B có thể có flash, hình ảnh(img), text,film...), web B sẽ reply
Vậy càng nhiều web A(A1,A2,A3,...) , càng nhiều ngừơi truy cập vào các web A(1,2,3,....) thì web B càng bị dos nhiều hơn.
Do đó cho dù gỡ hết SWF, hình ảnh, âm thanh,... thì cũng bị dos như thường.
|
|
|
Bạn dùng 2 line riêng, 1 cho web, 1 cho server (servergame)
Ms sql bạn để trên máy web hay máy server?
Web liên hệ với server qua trao đổi dữ liệu với sql
Không biết bạn thiết kế theo mô hình nào
1) Web + MS sql <--------------> servergame
2) Web <--------> MS sql <-----> servergame
3) Web <--------------> MS sql + servergame
(Từng cụm là từng máy, 2 màu thể hiện 2 line khác nhau)
Nó dos web mà ảnh hưởng tới server thì mình nghĩ là trong phần dịch vụ của web, nếu không thì chỉ có web có vấn đề thôi, đằng này server cũng "hưởng" theo.
|
|
|
Chào bạn, theo những gì bạn đã nói thì mình có 1 ý thủ công
Bạn nói khi tắt Apache thì games chạy bình thường, mình nghĩ vậy là nó không dos trực tiếp vào servergame. Mình xin đưa ra vài câu hỏi để suy nghĩ
Trong lúc bị dos
-Bạn có thử đưa web tĩnh lên.
-Bạn có thử bỏ tất cả các dịch vụ như reset, xóa mật khẩu,đổi giới tính, chuyển tiền, shop,.... rồi sau đó thêm từng dịch vụ 1 vào, rồi xem trạng thái hệ thống thế nào....
Nếu sau khi thêm vào 1 dịch vụ mà thấy bất ổn thì mới bắt đầu soi cái dịch vụ đó.
Mong là khả quan hơn ,
levinthan wrote:
Hic. Vẫn đang bị flood
cười cái nào
|
|
|
Mấy anh ơi, có ai có cuốn này cho em xin. Em tìm google mà chỉ thấy giới thiệu không thấy link down, hoặc kêu ra nhà sách mua.
Cẩm nang lập trình hệ thống.
Xin cám ơn!
|
|
|
-Bạn tạo file clear.bat
-Ấn chuột phải-> edit
-Gõ vào
Code:
-Lưu lại
-Copy vào usb và mở nó
Chúc may mắn!
|
|
|
FaL wrote:
Kiếm được cái này cho bồ:
http://ubuntuforums.org/archive/index.php/t-597780.html
http://ubuntuforums.org/showthread.php?t=186109
Thanks for response!
1) Khi xóa file ko ấn Shift thì nó vẫn không hiện bảng xác nhận.
2) <Solved> Ubuntu không move file từ phân vùng NTFS vào Trash (ext32).
Chỉ đổi địa chỉ của file vào thư mục .Trash-<user name>
|
|
|
Chào mọi người.
Em mới cái Ubuntu 7.10 song song với Windows XP sp2
Khi em xóa các file thì nó không Hiện bảng xác nhận xem có muốn xóa hay không?
Trong phân vùng cài Ubuntu thì sau khi xóa xong, file được đưa vào trash. Còn bên phân vùng Ổ C, D, E, có sẵn trước khi cài Ubuntu thì nó không được đưa vào trash; nhưng khi em vào win thì thấy có thư mục .trash-pl, chứa các file em đã xóa bên Ubuntu.
Vấn đề hiện giờ:
-Làm sao khi xóa file, thư mục thì Ubuntu hiện bảng xác nhận.
-Khi xóa file, thư mục trong C, D, E thì chúng được đưa vào trash giống như xóa bên phân vùng chứa Ubuntu.
Xin cám ơn!
|
|
|
Vẫn là thói quen: Lười dùng goolge tìm giải pháp cho sự cố mà mình gặp phải. Xin hỏi một cách thẳng thắn: bạn đã thử paste bất kỳ một dòng lỗi nào vào google và tìm chưa?
Cám ơn anh, em xin tiếp thu.
Bạn kiểm tra xem đã cài ntfsprogs chưa? Nếu chưa:
Code:
sudo apt-get install ntfsprogs
man ntfsfix
Đọc và chạy nó sau đó thử mount lại
Cám ơn anh, em đã mount thành công.
Nhưng em vẫn chưa hiểu là cả 3 partition cùng nằm trên cùng 1 ổ đĩa, nhưng tại sao 2 cái (part.) không mount được, 1 cái vẫn mount ổn. Nó có thể là do những lỗi, những tác động nào gây nên?
|
|
|
@quanta: Em đã làm cách anh.
-Unmount C (sda1)
-Restart qua Windows => Safe mode
-cmd -> chkdsk /f
-Restart qua Windows => Safe mode và cả Normal.
Sau khi chkdsk xong thì Windows tự động restart => Windows
Em restart 1 lần nữa qua Ubuntu thì vẫn không thấy D, E.
Em có vào web ntfs-3g nhưng thấy nó không có hỗ trợ cho Ubuntu
@nora: Em đã thử nhiều lần
pl@pl-desktop:~$ sudo mount -t ntfs /dev/sda5 /mnt/ntfs
$MFTMirr does not match $MFT (record 0).
Failed to mount '/dev/sda5': Input/output error
NTFS is either inconsistent, or you have hardware faults, or you have a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows TWICE. The usage of the /f parameter is very
important! If you have SoftRAID/FakeRAID then first you must activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for the details.
Cả sau khi chkdsk bên windows rồi vào lại, mount lại vẫn bị lỗi trên
Cái lạ ở đây là sda1 (phân vùng C, định dạng NTFS) thì không cần mount vẫn đọc được, ghi được; còn sda5, sda6 (D, E) thì không được
Bản Ubuntu em dùng là 7.10. Em thử bản Kubun tu 7.10 cũng gặp lỗi tương tự.
Mặc dù trước đây em cài Linux (Ubuntu 6.06, Ubuntu 7.04, Kubuntu 6.06) cho máy thì vẫn nhận được cả C, D, E.
|
|
|
Em mới cài Ubuntu 7.10
Sau khi cài xong, (chưa có bất cứ cấu hình nào cho Ubuntu) Ubuntu thấy và ghi được phân vùng C (định dạng NTFS) là ổ chứa windows. Nhưng còn 2 phân vùng D và E cũng định dạng NTFS không thấy được. Cái lạ ở đây là nó thấy được 1 vùng, 2 vùng còn lại thì không thấy.
Em vào Partition Editor, vào Information của D và E thì nhận được (ở đây em đưa ra thông tin của 1 phân vùng, cái còn lại cũng tương tự)
Couldn't mount device '/dev/sda5': Input/output error
ntfsresize v1.13.1 (libntfs 9:0:0)
ERROR(5): Opening 'dev/sda5' as NTFS failed: Input/output error
NTFS is inconsistent. Run chkdsk /f on Windows then reboot it TWICE!
The usage of the /f parameter is very IMPORTANT! No modification was and will be made to NTFS by this software until it gets repaired.
Unable to read the contents of this filesystem!
Because of this some operations may be unavailable
Sau đó em vào Windows XP (Sp2).
Star-> Run-> cmd-> Nhập vào chkdsk /f
Restart
Máy check disk xong rồi tự động restart-> Vào lại Windows
Em restart 1 lần nữa để vào Ubuntu, nhưng vẫn không nhận được 2 phân vùng D và E.
Anh chị nào có hướng giải quyết xin chỉ giáo! Cám ơn!
|
|
|
Tuấn tìm hiểu thêm sự kiện bên ngoài tác động đến máy tính.
Em bổ sung thêm:
-Xem có cúp điện đột ngột, hay điện lên quá mức.
-Nắng, mưa.
-Chó, mèo, chuột.
-Em bé.
...
|
|
|
|
|
|
|