Viblo CTF - New puzzles 202009

DISCUSSIONS

Oct 25th, 2015 5:25 PM

@wow_so_good Cảm ơn bạn đã quan tâm (honho)

0
Oct 24th, 2015 6:24 PM

Bài viết rất hay. Cám ơn bạn!

0
Oct 23rd, 2015 4:48 AM

Cảm ơn bài viết của bạn rất nhiều.

0
Oct 22nd, 2015 9:21 PM

I like it 😃

0
Oct 22nd, 2015 6:09 PM

Hay đấy anh Hoài. Bài tới a hướng dẫn multi-screen đê. He he.

0
Oct 20th, 2015 9:15 PM

@pwkeygen Bàn phím của Thinkpad công nhận là rất tốt 😄 Tuy nhiên nếu có thể bạn cứ hãy thử dùng bàn phím cơ nhé! Không phải tự nhiên mà người ta lại tôn vinh nó nhiều đến vậy (honho)

0
Oct 14th, 2015 1:48 AM

Mình vẫn ko rõ cái token và download

  1. làm sao chứng thực dc token là của đúng người.
  2. làm sao để mọi thực hiện download đều qua download action filter
0
Oct 13th, 2015 6:52 PM

Có áp dụng cho đánh chỉ mục và tìm kiếm bằng Tiếng việt không chủ thớt?

0
Oct 7th, 2015 8:11 AM

A ơi. Sao ảnh hướng dẫn k load được ạ. A chỉnh sửa lại giúp e với.

0
Oct 6th, 2015 8:53 PM

dislike, ko hề đầu tư, chăm chút cho bài viết...

0
Oct 6th, 2015 4:36 PM

@kevin.nguyen.8699 Đây là đoạn code sample thôi bạn ^^. Mình chỉ focus vào phương thức đang được đề cập đến ở Factory và nội dung chính của bài viết, việc implements ai dùng abstract và interface đều hiểu rồi nên không quan trọng trong bài viết này 😄 Hơn nữa các IDE hiện giờ đều báo cần implements các method trong interface và abstract function nếu có 😄

0
Oct 5th, 2015 10:24 PM

@pdling Cảm ơn bạn. Mình mới bổ sung thêm chi tiết hơn về quá trình thống nhất phương pháp mã hoá và giải mã trên client và server.

Để thực hiện cơ chế mã hoá và giải mã giữa client và server, chúng ta cần phải có một cặp khoá chung, cả 2 đều biết nhưng bảo mật, gọi là session key. Để bảo mật session key này, thì chúng ta cần sử dụng phương pháp mã hoá bất đối xứng, hay nói cách khác, chúng ta cần có một cặp khoá private key và public key. Chi tiết về quá trình handshake (bắt tay) trao đổi dữ liệu ban đầu của server và client sẽ diễn ra như sau:

  1. Client sẽ yêu cầu một kết nối bảo mật tới server, và cung cấp cho server danh sách những phương pháp mã hoá (ciphers and hash functions) mà client hỗ trợ.

  2. Từ danh sách đó, server chọn ra cipher và hash function mà nó có và thông báo lại cho client biết.

  3. Cạnh đó, server gửi kèm theo chứng chỉ số (digital certificate) bao gồm các thông tin như server name, đơn vị cung cấp chứng chỉ (CA - Certificate Authorities) và public key.

  4. Client sẽ liên lạc với CA đã cung cấp chứng chỉ cho server trên, và kiểm tra tính hợp lệ của chứng chỉ này.

  5. Sau đó, client sẽ bắt đầu sinh ra một session key, bằng cách sinh ra một số ngẫu nhiên và mã hoá nó bằng public key của server. Sau đó gửi Session Key này đến server. Và server sẽ dùng private key để giải mã nó và lấy được số ngẫu nhiên đó.

  6. Từ số ngẫu nhiên này, server và client sẽ dùng để mã hoá thông tin trao đổi bằng thuật toán khoá đối xứng (symmetric-key algorithm).

0
Oct 5th, 2015 6:25 PM

thanks. This article is very useful.

0
Oct 3rd, 2015 6:31 AM

cho mình hỏi là AnimationDrawable thì file xml chứa các frame được tạo trong thư mục Drawable hay tạo 1 file Anim ngang hàng với file Drawable rồi tạo 1 file xml trong thư mục Anim? mình thấy 2 cách đều được nhưng ko rõ là nên làm theo cách nào?

0
Oct 3rd, 2015 4:36 AM

"Server sẽ làm nhiệm vụ giải mã TLS và nhận lại đuợc request HTTP ban đầu, sau đó xử lí và response sẽ lại đuợc mã hoá gửi lại cho browser thông qua TLS" & "Trong đó public key sẽ đuợc server gửi đến browser để mã hoá dữ liệu, còn private key sẽ đuợc server dùng để giải mã" => 1 câu hỏi nhỏ là browser dùng cái gì để giải mã HTTP response khi mà không có private key?

0
Oct 2nd, 2015 12:56 AM

lúc đầu tớ làm theo hướng dẫn nhưng đến chỗ chạy lệnh "rails generate i18n:js:config" thì báo lỗi. Sau đó mình search và đã tìm ra cách sửa: thay vì include (gem "i18n-js") mình sẽ include (gem "i18n-js", "3.0.0.rc10"). sau đó mọi thứ chạy bt.

0
Oct 1st, 2015 4:32 PM

vậy với dự án support cả iOS 7 thì nếu muốn dùng tính năng upload from Photoalbum thì lại if else code để sử dụng AssetsLibrary nhỉ?

0
Oct 1st, 2015 1:16 AM

Thank for share 😃 Zsh mạnh ở cái plugin + cộng đồng phát triển nữa, phần sau giới thiệu về cái này nữa đi anh 😉 Có gì thử qua fish shell cũng ok lắm anh ạ. Fish shell hỗ trợ cũng tốt, nhất là về complete, history và color đẹp nữa 😃

0
Sep 30th, 2015 10:11 PM

java web ak mình đang làm chỉ đường mà mình bị đứng lại vì không biết hướng để đi tiếp mình làm theo hướng dẩn của bạn để đưa cái địa điểm vào mà nó không nhận cái input phải o trong maps nó mới hiểu và dánh dấu trên bản đồ còn từ form thì nó không nhận vi dụ nhu thế này:mình dùng css với java lập trình theo mô hình MVC From:

<div class="col-md-3"> <form> <div class="form-group"> <input id="diemdau" class="form-control" type="text" placeholder="Điểm đi">
<input id="" class="form-control" type="text" placeholder="Điểm đến" />
<select class="form-control"> <option><a role="menuitem" tabindex="-1" href="#">Chuyển ít nhất</a></option> <option><a role="menuitem" tabindex="-1" href="#">Trạm xe gần nhất</a></option> <option><a role="menuitem" tabindex="-1" href="#">Quảng đường ngắn nhất</a></option> <option><a role="menuitem" tabindex="-1" href="#">Đi bộ ít nhất</a></option> </select>
<button class="btn btn-block btn-success">Tìm đường</button> <span id="me"></span> </form> </div> <!---/alert("chet roi")--> <!-- map v3-->
</div> Đoạn script: <script>
function initMap() {
	  var map = new google.maps.Map(document.getElementById('map'), {
	    center: {lat:10.016667, lng: 105.783333},
	    zoom: 13
	  });

	  var input = document.getElementById('diemdau');

	  var autocomplete = new google.maps.places.Autocomplete(input);
	  autocomplete.bindTo('bounds', map);


	  var infowindow = new google.maps.InfoWindow();
	  var marker = new google.maps.Marker({
	    map: map
	  });
	  marker.addListener('click', function() {
	    infowindow.open(map, marker);
	  });

	  autocomplete.addListener('place_changed', function() {
	    infowindow.close();
	    var place = autocomplete.getPlace();
	    if (!place.geometry) {
	      return;
	    }

	    if (place.geometry.viewport) {
	      map.fitBounds(place.geometry.viewport);
	    } else {
	      map.setCenter(place.geometry.location);
	      map.setZoom(15);
	      
	    }

	    // Set the position of the marker using the place ID and location.
	    marker.setPlace({
	      placeId: place.place_id,
	      location: place.geometry.location
	    });
	    marker.setVisible(true);

		     infowindow.setContent('<div><strong>' + place.name + '</strong><br>' +
		        place.formatted_address); 
	    infowindow.open(map, marker);
	   }); 
	}
0
Viblo
Let's register a Viblo Account to get more interesting posts.