markdown:
[Chương 1](https://diemlien.wordpress.com/2012/05/23/chi-ton-phe-hau-chuong-1/) [Chương 2](https://diemlien.wordpress.com/2012/05/23/chi-ton-phe-hau-chuong-2/) [Chương 3](https://diemlien.wordpress.com/2012/05/23/chi-ton-phe-hau-chuong-3/) [Chương 4](https://diemlien.wordpress.com/2012/05/24/chi-ton-phe-hau-chuong-4/) [Chương 4.2](https://diemlien.wordpress.com/2012/05/24/chi-ton-phe-hau-chuong-4-2/) [Chương 5](https://diemlien.wordpress.com/2012/05/24/chi-ton-phe-hau-chuong-5/) [Chương 6](https://diemlien.wordpress.com/2012/05/24/chi-ton-phe-hau-chuong-6/) [Chương 6.2](https://diemlien.wordpress.com/2012/05/24/chi-ton-phe-hau-chuong-6-2/) [Chương 7](https://diemlien.wordpress.com/2012/05/26/chi-ton-phe-hau-chuong-7/) [Chương 8](https://diemlien.wordpress.com/2012/05/30/chi-ton-phe-hau-chuong-8/) [Chương 9.1](https://diemlien.wordpress.com/2012/05/30/chi-ton-phe-hau-chuong-9-phan-1/) [Chương 9.2](https://diemlien.wordpress.com/2012/06/02/chi-ton-phe-hau-chuong-9/) [Chương 10](https://diemlien.wordpress.com/2012/06/02/chi-ton-phe-hau-chuong-10/) [Chương 10.2](https://diemlien.wordpress.com/2012/06/02/chi-ton-phe-hau-chuong-10-phan-2/) [Chương 10.3](https://diemlien.wordpress.com/2012/06/03/chi-ton-phe-hau-chuong-10-phan-3/) [Chương 11.1](https://diemlien.wordpress.com/2012/06/05/chi-ton-phe-hau-chuong-11-phan-1/) [Chương 11.2](https://diemlien.wordpress.com/2012/06/06/chi-ton-phe-hau-chuong-11-phan-2/) [Chương 12.1](https://diemlien.wordpress.com/2012/06/07/chi-ton-phe-hau-chuong-12-phan-1/) [Chương 12.2](https://diemlien.wordpress.com/2012/06/08/chi-ton-phe-hau-chuong-12-phan-2/) [Chương 12.3](https://diemlien.wordpress.com/2012/06/10/chi-ton-phe-hau-chuong-12-phan-3/) [Chương 12.4](https://diemlien.wordpress.com/2012/06/10/chi-ton-phe-hau-chuong-12-phan-4/) [Chương 13.1](https://diemlien.wordpress.com/2012/06/11/chi-ton-phe-hau-chuong-13-phan-1/) [ Chương 13.2](https://diemlien.wordpress.com/2012/06/11/chi-ton-phe-hau-chuong-13-phan-2/) [ Chương 13.3](https://diemlien.wordpress.com/2012/06/12/chi-ton-phe-hau-chuong-13-p3/) [ Chương 14](https://diemlien.wordpress.com/2012/06/13/chi-ton-phe-hau-chuong-14/) [Chương 15.1](https://diemlien.wordpress.com/2012/06/14/chi-ton-phe-hau-chuong-15-p1/) [Chương 15.2](https://diemlien.wordpress.com/2012/06/15/chi-ton-phe-hau-chuong-15-p2/) [Chương 16.1](https://diemlien.wordpress.com/2012/06/16/chi-ton-phe-hau-chuong-16-p1/) [Chương 16.2](https://diemlien.wordpress.com/2012/06/17/chi-ton-phe-hau-chuong-16-p2/) [Chương 16.3](https://diemlien.wordpress.com/2012/06/20/chi-ton-phe-hau-chuong-16-p3/) [Chương 17.1](https://diemlien.wordpress.com/2012/06/20/chi-ton-phe-hau-chuong-17-p1/) [Chương 17.2](https://diemlien.wordpress.com/2012/06/22/chi-ton-phe-hau-chuong-17-p2/) [Chương 18.1](https://diemlien.wordpress.com/2012/06/24/chi-ton-phe-hau-chuong-18-p1/) [Chương 18.2](https://diemlien.wordpress.com/2012/06/25/chi-ton-phe-hau-chuong-18-p2/) [ Chương 18.3](https://diemlien.wordpress.com/2012/06/26/chi-ton-phe-hau-chuong-18-p3/) [Chương 19.](https://diemlien.wordpress.com/2012/06/28/chi-ton-phe-hau-chuong-19-p1/)1 [Chương 19.2](https://diemlien.wordpress.com/2012/07/01/chi-ton-phe-hau-cuong-19-p2/) [Chương 19.3](https://diemlien.wordpress.com/2012/07/02/chi-ton-phe-hau-chuong-19-p3/) [Chương 19.4](https://diemlien.wordpress.com/2012/07/05/chi-ton-phe-hau-chuong-19-p4/) [Chương 20.1](https://diemlien.wordpress.com/2012/07/05/chi-ton-phe-hau-chuong-20-p1/) [ Chương20.](https://diemlien.wordpress.com/2012/07/06/chi-ton-phe-hau-chuong-20-p2/)2 [ Chương 20.3](https://diemlien.wordpress.com/2012/07/08/chi-ton-phe-hau-chuong-20-p3/) [Chương 21.1](https://diemlien.wordpress.com/2012/07/11/chi-ton-phe-hau-chuong-21-p1/) [Chương 21.2](https://diemlien.wordpress.com/2012/07/11/chi-ton-phe-hau-chuong-21-p2/) [Chương 21.3](https://diemlien.wordpress.com/2012/07/13/chi-ton-phe-hau-chuong-21-p3/) [Chương 22.1](https://diemlien.wordpress.com/2012/07/15/chi-ton-phe-hau-chuong-22-p1/) [Chương 22.2](https://diemlien.wordpress.com/2012/07/15/chi-ton-phe-hau-chuong-22-p2/) [Chương 22.3](https://diemlien.wordpress.com/2012/07/23/chi-ton-phe-hau-chuong-22-p3/) [Chương 23.1](https://diemlien.wordpress.com/2012/07/23/chi-ton-phe-hau-chuong-23-p1/) [Chương 23.2](https://diemlien.wordpress.com/2012/07/24/chi-ton-phe-hau-chuong-23-p2/) [Chương 23.3](https://diemlien.wordpress.com/2012/07/24/chi-ton-phe-hau-chuong-23-p3/) [Chương 24.1](https://diemlien.wordpress.com/2012/07/25/chi-ton-phe-hau-chuong-24-p1/) [Chương 24.2](https://diemlien.wordpress.com/2012/07/27/chi-ton-phe-hau-chuong-24-p2/) [Chương 24.3](https://diemlien.wordpress.com/2012/07/29/chi-ton-phe-hau-chuong-24-p3/) [Chương 25.1](https://diemlien.wordpress.com/2012/07/30/chi-ton-phe-hau-chuong-25-p1/) [Chương 25.2](https://diemlien.wordpress.com/2012/07/31/chi-ton-phe-hau-chuong-25-p2/) [Chương 25.3](https://diemlien.wordpress.com/2012/08/02/chi-ton-phe-hau-chuong-25-p3/) [Chương 26.1](https://diemlien.wordpress.com/2012/08/03/chi-ton-phe-hau-chuong-26-p1/) [Chương 26.2](https://diemlien.wordpress.com/2012/08/04/chi-ton-phe-hau-chuong-26-p2/) [Chương 26.3](https://diemlien.wordpress.com/2012/08/07/chi-ton-phe-hau-chuong-26-p3/) [Chương 27.1](https://diemlien.wordpress.com/2012/08/08/chi-ton-phe-hau-chuong-27-p1/) [Chương 27.2](https://diemlien.wordpress.com/2012/08/09/chi-ton-phe-hau-chuong-27-p2/) [Chương 27.3](https://diemlien.wordpress.com/2012/08/10/chi-ton-phe-hau-chuong-27-p3/) [Chương 28.1](https://diemlien.wordpress.com/2012/08/13/chi-ton-phe-hau-chuong-28-p1/) [Chương 28.2](https://diemlien.wordpress.com/2012/08/14/chi-ton-phe-hau-chuong-28-p2/) [Chương 28.3](https://diemlien.wordpress.com/2012/08/15/chi-ton-phe-hau-chuong-28-p3/) [Chương 28.4](https://diemlien.wordpress.com/2012/08/17/chi-ton-phe-hau-chuong-28-p4/) [Chương 29.1](https://diemlien.wordpress.com/2012/08/21/chi-ton-phe-hau-chuong-29-p1/) [Chương 29.2](https://diemlien.wordpress.com/2012/08/22/chi-ton-phe-hau-chuong-29-p2/) [Chương 29.3](https://diemlien.wordpress.com/2012/08/23/chi-ton-phe-hau-chuong-29-p3/) [Chương 29.4](https://diemlien.wordpress.com/2012/08/26/chi-ton-phe-hau-chuong-29-p4/) [Chương 30.1](https://diemlien.wordpress.com/2012/08/27/chi-ton-phe-hau-chuong-30-p1/) [Chương 30.2](https://diemlien.wordpress.com/2012/08/29/chi-ton-phe-hau-chuong-30-p2/) [Chương 30.3](https://diemlien.wordpress.com/2012/08/31/chi-ton-phe-hau-chuong-30-p3/) [Chương 30.4](https://diemlien.wordpress.com/2012/09/03/chi-ton-phe-hau-chuong-30-p4/) [Chương 31.1](https://diemlien.wordpress.com/2012/09/04/chi-ton-phe-hau-chuong-31-p1/) [Chương 31.2](https://diemlien.wordpress.com/2012/09/06/chi-ton-phe-hau-chuong-31-p2/) [Chương 31.3](https://diemlien.wordpress.com/2012/09/07/chi-ton-phe-hau-chuong-31-p3/) [Chương 31.4](https://diemlien.wordpress.com/2012/09/08/chi-ton-phe-hau-chuong-31-p4/) [Chương 32.1](https://diemlien.wordpress.com/2012/09/09/chi-ton-phe-hau-chuong-32-p2/) [Chương 32.2](https://diemlien.wordpress.com/2012/09/11/chi-ton-phe-hau-chuong-32-p2-2/) [Chương 32.3](https://diemlien.wordpress.com/2012/09/12/chi-ton-phe-hau-chuong-32-p3/) [Chương 33.](https://diemlien.wordpress.com/2012/09/13/chi-ton-phe-hau-chuong-33-p1/)1 [Chương 33.2](https://diemlien.wordpress.com/2012/09/14/chi-ton-phe-hau-chuong-33-p2/) [Chương 33.3](https://diemlien.wordpress.com/2012/09/15/chi-ton-phe-hau-chuong-33-p3/) [Chương 34.1](https://diemlien.wordpress.com/2012/09/17/chi-ton-phe-hau-chuong-34-p1/) [ Chương 34.2](https://diemlien.wordpress.com/2012/09/22/chi-ton-phe-hau-chuong-34-p2/) [Chương 34.3](https://diemlien.wordpress.com/2012/09/24/chi-ton-phe-hau-chuong-34-p3/) [Chương 34.4](https://diemlien.wordpress.com/2012/09/24/chi-ton-phe-hau-chuong-34-p4/) [Chương 35.1](https://diemlien.wordpress.com/2012/09/25/chi-ton-phe-hau-chuong-35-p1/) [ Chương 35.2](https://diemlien.wordpress.com/2012/09/25/chi-ton-phe-hau-chuong-35-p2/) [Chương 35.3](https://diemlien.wordpress.com/2012/09/26/chi-ton-phe-hau-chuong-35-p3/) [ Chương 35.4](https://diemlien.wordpress.com/2012/09/27/chi-ton-phe-hau-chuong-35-p4/) [Chương 36.1](https://diemlien.wordpress.com/2012/10/01/chi-ton-phe-hau-chuong-36-p1/) [Chương 36.2](https://diemlien.wordpress.com/2012/10/01/chi-ton-phe-hau-chuong-36-p2/) [ Chương 36.3](https://diemlien.wordpress.com/2012/10/02/chi-ton-phe-hau-chuong-36-p3/) [Chương 36.4](https://diemlien.wordpress.com/2012/10/03/chi-ton-phe-hau-chuong-36-p4/) [ Chương 36.5](https://diemlien.wordpress.com/2012/10/04/chi-ton-phe-hau-chuong-36-p5/) [Chương 36.6](https://diemlien.wordpress.com/2012/10/08/chi-ton-phe-hau-chuong-36-p6/) [ Chương 36.7](https://diemlien.wordpress.com/2012/10/09/chi-ton-phe-hau-chuong-36-p7/) [Chương 36.8](https://diemlien.wordpress.com/2012/10/11/chi-ton-phe-hau-chuong-36-p8/) [Chương 37.1](https://diemlien.wordpress.com/2012/10/11/chi-ton-phe-hau-chuong-37-p1/) [Chương 37.2](https://diemlien.wordpress.com/2012/10/13/chi-ton-phe-hau-chuong-37-p2/) [Chương 38.1](https://diemlien.wordpress.com/2012/10/14/chi-ton-phe-hau-chuong-38-p1/) [Chương 38.2](https://diemlien.wordpress.com/2012/10/15/chi-ton-phe-hau-chuong-38-p2/) [ Chương 38.3](https://diemlien.wordpress.com/2012/10/18/chi-ton-phe-hau-chuong-38-p3/) [Chương 38.4](https://diemlien.wordpress.com/2012/10/19/chi-ton-phe-hau-chuong-38-p4/) [Chương 38.5](https://diemlien.wordpress.com/2012/10/20/chi-ton-phe-hau-chuong-38-p5/) [Chương 39.1](https://diemlien.wordpress.com/2012/10/21/chi-ton-phe-hau-chuong-39-p1/) [Chương 39.2](https://diemlien.wordpress.com/2012/10/22/chi-ton-phe-hau-chuong-39-p2/) [Chương 39.3](https://diemlien.wordpress.com/2012/10/23/chi-ton-phe-hau-chuong-39-p3/) [Chương 39.4](https://diemlien.wordpress.com/2012/10/24/chi-ton-phe-hau-chuong-39-p4/) [Chương 40.1](https://diemlien.wordpress.com/2012/10/25/chi-ton-phe-hau-chuong-40-p1/) [Chương 40.2](https://diemlien.wordpress.com/2012/10/26/chi-ton-phe-hau-chuong-40-p2/) [Chương 40.3](https://diemlien.wordpress.com/2012/10/27/chi-ton-phe-hau-chuong-40-p3/) [Chương 41.1](https://diemlien.wordpress.com/2012/10/28/chi-ton-phe-hau-chuong-41-p1/) [ Chương 41.2](https://diemlien.wordpress.com/2012/10/29/chi-ton-phe-hau-chuong-41-p2/) [Chương 41.3](https://diemlien.wordpress.com/2012/10/30/chi-ton-phe-hau-chuong-41-p3/) [ Chương 41.4](https://diemlien.wordpress.com/2012/10/31/chi-ton-phe-hau-chuong-41-p4/) [Chương 41.5](https://diemlien.wordpress.com/2012/11/01/chi-ton-phe-hau-chuong-41-p5/) [Chương 41.6](https://diemlien.wordpress.com/2012/11/02/chi-ton-phe-hau-chuong-41-p6/) [Chương 41.7](https://diemlien.wordpress.com/2012/11/03/chi-ton-phe-hau-chuong-41-p7/) [Chương 41.8](https://diemlien.wordpress.com/2012/11/04/chi-ton-phe-hau-chuong-41-p8/) [ Chương 41.9](https://diemlien.wordpress.com/2012/11/08/chi-ton-phe-hau-chuong-41-p9/) [Chương 41.10](https://diemlien.wordpress.com/2012/11/08/chi-ton-phe-hau-chuong-41-p10/) [Chương 41.11](https://diemlien.wordpress.com/2012/11/09/chi-ton-phe-hau-chuong-41-p11/) [Chương 42](https://diemlien.wordpress.com/2012/11/10/chi-ton-phe-hau-chuong-42/) [Phiên ngoại 1](https://diemlien.wordpress.com/2012/11/11/chi-ton-phe-hau-phien-ngoai-p1/) [Phiên ngoại 2](https://diemlien.wordpress.com/2012/11/12/chi-ton-phe-hau-phien-ngoai-p2/) [Chương 42.2](https://diemlien.wordpress.com/2012/11/13/chi-ton-phe-hau-chuong-42-p2/) [Chương 42.3](https://diemlien.wordpress.com/2012/11/13/chi-ton-phe-hau-chuong-42-p3/) [Chương 43.1](https://diemlien.wordpress.com/2012/11/14/chi-ton-phe-hau-chuong-43-p1/) [Chương 43.2](https://diemlien.wordpress.com/2012/11/14/chi-ton-phe-hau-chuong-43-p2/) [ Chương 43.3](https://diemlien.wordpress.com/2012/11/14/chi-ton-phe-hau-chuong-43-p3/) [Chương 44.1](https://diemlien.wordpress.com/2012/11/14/chi-ton-phe-hau-chuong-44-p1/) [ Chương 44.2](https://diemlien.wordpress.com/2012/11/15/chi-ton-phe-hau-chuong-44-p2/) [Chương 44.3](https://diemlien.wordpress.com/2012/11/16/chi-ton-phe-hau-chuong-44-p3/) [Chương 44.4](https://diemlien.wordpress.com/2012/11/16/chi-ton-phe-hau-chuong-44-p4/) [Chương 44.5](https://diemlien.wordpress.com/2012/11/19/chi-ton-phe-hau-chuong-44-p5/) [Chương 44.6](https://diemlien.wordpress.com/2012/11/20/chi-ton-phe-hau-chuong-44-p6/) [Chương 44.7](https://diemlien.wordpress.com/2012/11/21/chi-ton-phe-hau-chuong-44-p7/) [Chương 44.8](https://diemlien.wordpress.com/2012/11/22/chi-ton-phe-hau-chuong-44-p8/)
[Chương 45.1](https://diemlien.wordpress.com/2012/11/23/chi-ton-phe-hau-chuong-45-p1/) [Chương 45.2](https://diemlien.wordpress.com/2012/11/24/chi-ton-phe-hau-chuong-45-p2/) [ Chương 45.3](https://diemlien.wordpress.com/2012/11/25/chi-ton-phe-hau-chuong-45-p3/) [ Chương 45.4](https://diemlien.wordpress.com/2012/11/27/chi-ton-phe-hau-chuong-45-p4/) [ Chương 45.5](https://diemlien.wordpress.com/2012/11/29/chi-ton-phe-hau-chuong-45-p5/) [Chương 46.1](https://diemlien.wordpress.com/2012/11/30/chi-ton-phe-hau-chuong-46-p1/) [Chương 46.2](https://diemlien.wordpress.com/2012/12/02/chi-ton-phe-hau-chuong-46-p2/) [ Chương 46.3](https://diemlien.wordpress.com/2012/12/03/chi-ton-phe-hau-chuong-46-p3/) [Chương 46.4](https://diemlien.wordpress.com/2012/12/03/chi-ton-phe-hau-chuong-46-p4/) [Chương 47.1](https://diemlien.wordpress.com/2012/12/04/chi-ton-phe-hau-chuong-47-p1/) [Chương 47.2](https://diemlien.wordpress.com/2012/12/04/chi-ton-phe-hau-chuong-47-p2/) [ Chương 47.3](https://diemlien.wordpress.com/2012/12/04/chi-ton-phe-hau-chuong-47-p3/) [Chương 47.4](https://diemlien.wordpress.com/2012/12/05/chi-ton-phe-hau-chuong-47-p4/) [Chương 47.5](https://diemlien.wordpress.com/2012/12/09/chi-ton-phe-hau-chuong-47-p5/) [Chương 47.6](https://diemlien.wordpress.com/2012/12/09/chi-ton-phe-hau-chuong-47-p6/) [ Chwuong 47.7](https://diemlien.wordpress.com/2012/12/10/chi-ton-phe-hau-chuong-47-p7-2/) [Chương 48.1](https://diemlien.wordpress.com/2012/12/11/chi-ton-phe-hau-chuong-48-p1-2/) [ Chương 48.2](https://diemlien.wordpress.com/2012/12/14/chi-ton-phe-hau-chuong-48-p2/) [Chương 48.3](https://diemlien.wordpress.com/2012/12/15/chi-ton-phe-hau-chuong-48-p3/) [Chương 48.4](https://diemlien.wordpress.com/2012/12/16/chi-ton-phe-hau-chuong-48-p4/) [Chương 48.5](https://diemlien.wordpress.com/2012/12/17/chi-ton-phe-hau-chuong-48-p5/) [Chương 48.6](https://diemlien.wordpress.com/2012/12/19/chi-ton-phe-hau-chuong-48-6/) [ Chương 48.7](https://diemlien.wordpress.com/2012/12/19/chi-ton-phe-hau-chuong-48-p7/) [Chương 49.1](https://diemlien.wordpress.com/2012/12/21/chi-ton-phe-hau-chuong-49-p1/) [Chương 49.2](https://diemlien.wordpress.com/2012/12/24/chi-ton-phe-hau-chuong-49-p2/) [Chương 49.3](https://diemlien.wordpress.com/2012/12/24/chi-ton-phe-hau-chuong-49-p3/) [ Chương 49.4](https://diemlien.wordpress.com/2012/12/24/chi-ton-phe-hau-chuong-49-p4/) [Chương 49.5](https://diemlien.wordpress.com/2012/12/25/chi-ton-phe-hau-chuong-49-p5/) [Chương 49.6](https://diemlien.wordpress.com/2012/12/26/chi-ton-phe-hau-chuong-49-p6/) [ Chương 49.7](https://diemlien.wordpress.com/2012/12/28/chi-ton-phe-hau-chuong-49-p7/) [Chương 50.1](https://diemlien.wordpress.com/2012/12/30/chi-ton-phe-hau-chuong-50-p1/) [Chương 50.2](https://diemlien.wordpress.com/2013/01/01/chi-ton-phe-hau-chuong-50-p2/) [Chương 50.3](https://diemlien.wordpress.com/2013/01/01/chi-ton-phe-hau-chuong-50-p3/) [ Chương 50.4](https://diemlien.wordpress.com/2013/01/02/chi-ton-phe-hau-chuong-50-p4/) [Chương 51.1](https://diemlien.wordpress.com/2013/01/04/chi-ton-phe-hau-chuong-51-p1/) [Chương 51.2](https://diemlien.wordpress.com/2013/01/04/chi-ton-phe-hau-chuong-50-p2-2/) [Chương 51.3](https://diemlien.wordpress.com/2013/01/05/chi-ton-phe-hau-chuong-51-p3/) [Chương 51.4](https://diemlien.wordpress.com/2013/01/10/chi-ton-phe-hauj-chuong-51-p4/) [Chương 51.5](https://diemlien.wordpress.com/2013/01/11/chi-ton-phe-hau-chuong-51-p5/) [Chương 51.6](https://diemlien.wordpress.com/2013/01/14/chi-ton-phe-hau-chuong-51-p6/) [ Chương 51.7](https://diemlien.wordpress.com/2013/01/15/chi-ton-phe-hau-chuong-51-p7/) [Chương 51.8](https://diemlien.wordpress.com/2013/01/16/chi-ton-phe-hau-chuong-51-p8/) [ Chương 52.1](https://diemlien.wordpress.com/2013/01/17/chi-ton-phe-hau-chuong-52-p1/) [ Chương 52.2](https://diemlien.wordpress.com/2013/01/26/chi-ton-phe-hau-chuong-52-p2/) [Chương 52.3](https://diemlien.wordpress.com/2013/02/18/chi-ton-phe-hau-chuong-52-p3/) [Chương 52.4](https://diemlien.wordpress.com/2013/02/18/chi-ton-phe-hau-chuong-52-p4/) [Chương 52.5](https://diemlien.wordpress.com/2013/02/19/chi-ton-phe-hau-chuong-52-p5/) [Chương 52.6](https://diemlien.wordpress.com/2013/02/22/chi-ton-phe-hau-chuong-52-p6/) [Chương 52.7](https://diemlien.wordpress.com/2013/03/03/chi-ton-phe-hau-chuong-52-p7/) [Chương 53.1](https://diemlien.wordpress.com/2013/03/04/chi-ton-phe-hau-chuong-53-p1/) [Chương 53.2](https://diemlien.wordpress.com/2013/03/05/chi-ton-phe-hau-chuong-53-p2/) [Chương 53.3](https://diemlien.wordpress.com/2013/03/06/chi-ton-phe-hau-chuong-53-p3/) [Chương 53.4](https://diemlien.wordpress.com/2013/03/07/chi-ton-phe-hau-chuong-53-p4/) [Chương 53.5](https://diemlien.wordpress.com/2013/03/11/chi-ton-phe-hau-chuong-53-p5/) [Chương 54.1](https://diemlien.wordpress.com/2013/03/12/chi-ton-phe-hau-chuong-54-p1/) [Chương 54.2](https://diemlien.wordpress.com/2013/03/16/chi-ton-phe-hau-chuong-54-p2/) [Chương 54.3](https://diemlien.wordpress.com/2013/03/18/chi-ton-phe-hau-chuong-54-p3/) [ Chương 54.4](https://diemlien.wordpress.com/2013/03/18/chi-ton-phe-hau-chuong-54-p4/) [Chương 54.5](https://diemlien.wordpress.com/2013/03/23/chi-ton-phe-hau-chuong-54-p5/) [Chương 55.1](https://diemlien.wordpress.com/2013/03/24/chi-ton-phe-hau-chuong-55-p1/) [Chương 55.2](https://diemlien.wordpress.com/2013/03/27/chi-ton-phe-hau-chuong-55-p2/) [Chương 55.3](https://diemlien.wordpress.com/2013/03/28/chi-ton-phe-hau-chuong-55-p3/) [Chương 56.1](https://diemlien.wordpress.com/2013/03/29/chi-ton-phe-hau-chuong-56-p1/) [ Chương 56.2 ](https://diemlien.wordpress.com/2013/03/31/chi-ton-phe-hau-chuong-56-p2/) [ Chương 56.3 ](https://diemlien.wordpress.com/2013/04/01/chi-ton-phe-hau-chuong-56-p3/) [Chương 56.4](https://diemlien.wordpress.com/2013/04/02/chi-ton-phe-hau-chuong-56-p4/) [Chương 57.1](https://diemlien.wordpress.com/2013/04/03/chi-ton-phe-hau-chuong-57-p1/) [ Chương 57.2](https://diemlien.wordpress.com/2013/04/05/chi-ton-phe-hau-chuong-57-p2/) [Chương 57.3](https://diemlien.wordpress.com/2013/04/05/chi-ton-phe-hau-chuong-57-p3/) [Chương 57.4](https://diemlien.wordpress.com/2013/04/08/chi-ton-phe-hau-chuong-57-p4/) [Chương 58.1](https://diemlien.wordpress.com/2013/04/09/chi-ton-phe-hau-chuong-58-p1/) [Chương 58.2](https://diemlien.wordpress.com/2013/04/10/chi-ton-phe-hau-chuong-58-p2/) [Chương 59.1](https://diemlien.wordpress.com/2013/04/11/chi-ton-phe-hau-chuong-59-p1/) [Chương 59.2](https://diemlien.wordpress.com/2013/04/12/chi-ton-phe-hau-chuong-59-p2/) [Chương 60.1](https://diemlien.wordpress.com/2013/04/14/chi-ton-phe-hau-chuong-60-p1/) [Chương 60.2](https://diemlien.wordpress.com/2013/04/15/chi-ton-phe-hau-chuong-60-p2/) [Chương 60.3](https://diemlien.wordpress.com/2013/04/16/chi-ton-phe-hau-chuong-60-p3/) [Chương 61.1](https://diemlien.wordpress.com/2013/04/17/chi-ton-phe-hau-chuong-61-p1/) [chương 61.2](https://diemlien.wordpress.com/2013/04/22/chi-ton-phe-hau-chuong-61-p2/) [ Chương 62.1](https://diemlien.wordpress.com/2013/04/23/chi-ton-phe-hau-chuong-62-p1/) [Chương 62.2](https://diemlien.wordpress.com/2013/04/24/chi-ton-phe-hau-chuong-62-p2/) [chương 62.3](https://diemlien.wordpress.com/2013/04/25/chi-ton-phe-hau-chuong-62-p3/) [Chương 63.1](https://diemlien.wordpress.com/2013/04/26/chi-ton-phe-hau-chuong-63-p1/) [Chương 63.2](https://diemlien.wordpress.com/2013/04/27/chi-ton-phe-hau-chuong-63-p2/) [Chương 63.3](https://diemlien.wordpress.com/2013/04/29/chi-ton-phe-hau-chuong-63-p3/) [ Chương 63.4](https://diemlien.wordpress.com/2013/04/29/chi-ton-phe-hau-chuong-63-p4/) [Chương 64.1](https://diemlien.wordpress.com/2013/04/30/chi-ton-phe-hau-chuong-64-p1/) [Chương 64.2](https://diemlien.wordpress.com/2013/05/01/chi-ton-phe-hau-chuong-64-p2/) [Chương 64.3](https://diemlien.wordpress.com/2013/05/02/chi-ton-phe-hau-chuong-64-p3/) [Chương 65.1](https://diemlien.wordpress.com/2013/05/03/chi-ton-phe-hau-chuong-65-p1/) [Chương 65.2 ](https://diemlien.wordpress.com/2013/05/04/chi-ton-phe-hau-chuong-65-p2/) [Chương 65.3](https://diemlien.wordpress.com/2013/05/06/chi-ton-phe-hau-chuong-65-p3/) [Chương 65-p4](https://diemlien.wordpress.com/2013/05/07/chi-ton-phe-hau-chuong-65-p4/) [Chương 66.1 ](https://diemlien.wordpress.com/2013/05/07/chi-ton-phe-hau-chuong-66-p1/) [ Chương 66.2](https://diemlien.wordpress.com/2013/05/08/chi-ton-phe-hau-chuong-66-p2/) [Chương 66.3](https://diemlien.wordpress.com/2013/05/09/chi-ton-phe-hau-chuong-66-p3/) [Chương 66.4](https://diemlien.wordpress.com/2013/05/10/chi-ton-phe-hau-chuong-66-p4/) [Chương 67.1 ](https://diemlien.wordpress.com/2013/05/11/chi-ton-phe-hau-chuong-67-p1/) [Chương 67.2](https://diemlien.wordpress.com/2013/05/13/chi-ton-phe-hau-chuong-67-p2/) [Chương 67.3](https://diemlien.wordpress.com/2013/05/14/chi-ton-phe-hau-chuong-67-p3/) [Chương 67.p4](https://diemlien.wordpress.com/2013/05/15/chi-ton-phe-hau-chuong-67-p4/) [Chương 68.1](https://diemlien.wordpress.com/2013/05/16/chi-ton-phe-hau-chuong-68-p1/) [ Chương 68.2 ](https://diemlien.wordpress.com/2013/05/17/chi-ton-phe-hau-chuong-68-p2/) [Chương 69](https://diemlien.wordpress.com/2013/05/21/chi-ton-phe-hau-chuong-67/) [Chương 70.1](https://diemlien.wordpress.com/2013/05/22/chi-ton-phe-hau-chuong-70-p1/) [ Chương 70.2](https://diemlien.wordpress.com/2013/05/23/chi-ton-phe-hau-chuong-70-p2/) [Chương 71.1](https://diemlien.wordpress.com/2013/05/24/chi-ton-phe-hau-chuong-71-p1/) [Chương 71.2 ](https://diemlien.wordpress.com/2013/05/27/chi-ton-phe-hau-chuong-71-p2/) [Chương 71.3](https://diemlien.wordpress.com/2013/05/28/chi-ton-phe-hau-chuong-71-p3/) [Chương 71.4](https://diemlien.wordpress.com/2013/05/29/chi-ton-phe-hau-chuong-71-p4/) [Chương 71.5](https://diemlien.wordpress.com/2013/05/30/chi-ton-phe-hau-chuong-71-p5/) [Chương 72.1](https://diemlien.wordpress.com/2013/05/31/chi-ton-phe-hau-chuong-72-p1/) [Chương 72.2](https://diemlien.wordpress.com/2013/06/03/chi-ton-phe-hau-chuong-72-p2/) [Chương 72.3 ](https://diemlien.wordpress.com/2013/06/04/chi-ton-phe-hau-chuong-72-p3/) [Chương 72.4](https://diemlien.wordpress.com/2013/06/05/chi-ton-phe-hau-chuong-72-p4/) [Chương 73.1](https://diemlien.wordpress.com/2013/06/06/chi-ton-phe-hau-chuong-73-p1/) [Chương 73.2](https://diemlien.wordpress.com/2013/06/10/chi-ton-phe-hau-chuong-73-p2/) [Chương 73.3](https://diemlien.wordpress.com/2013/06/10/chi-ton-phe-hau-chuong-73-p3/) [Chương 73.4](https://diemlien.wordpress.com/2013/06/11/chi-ton-phe-hau-chuong-73-p4/) [ Chương 73.5](https://diemlien.wordpress.com/2013/06/12/chi-ton-phe-hau-chuong-73-p5/) [Chương 74.1](https://diemlien.wordpress.com/2013/06/13/chi-ton-phe-hau-chuong-74-p1/) [Chương 74.2](https://diemlien.wordpress.com/2013/06/14/chi-ton-phe-hau-chuong-74-p2/) [Chương 74.3](https://diemlien.wordpress.com/2013/06/17/chi-ton-phe-hau-chuong-74-p3/) [Chương 74.4](https://diemlien.wordpress.com/2013/06/18/chi-ton-phe-hau-chuong-74-p4/) [ Chương 74.5](https://diemlien.wordpress.com/2013/06/21/chi-ton-phe-hau-chuong-74-p5/) [Chương 75.1](https://diemlien.wordpress.com/2013/06/22/chi-ton-phe-hau-chuong-75-p1/) [ Chương 75.2](https://diemlien.wordpress.com/2013/06/24/chi-ton-phe-hau-chuong-75-p2/) [ Chương 75.3](https://diemlien.wordpress.com/2013/06/25/chi-ton-phe-hau-chuong-75-p3/) [Chương 75.4](https://diemlien.wordpress.com/2013/06/26/chi-ton-phe-hau-chuong-75-p4/) [Chương 75.5](https://diemlien.wordpress.com/2013/06/27/chi-ton-phe-hau-chuong-75-p5/) [Chương 76.1](https://diemlien.wordpress.com/2013/06/28/chi-ton-phe-hau-chuong-76-p1/) [Chương 76.2](https://diemlien.wordpress.com/2013/07/01/chi-ton-phe-hau-chuong-76-p2/) [Chương 76.3](https://diemlien.wordpress.com/2013/07/02/chi-ton-phe-hau-chuong-76-p3/) [Chương 76.4](https://diemlien.wordpress.com/2013/07/03/chi-ton-phe-hau-chuong-76-p4/) [ Chương 76.5](https://diemlien.wordpress.com/2013/07/04/chi-ton-phe-hau-chuong-76-p5/) [Chương 76.6](https://diemlien.wordpress.com/2013/07/05/chi-ton-phe-hau-chuong-76-p6/) [Chương 76.7](https://diemlien.wordpress.com/2013/07/08/chi-ton-phe-hau-chuong-76-p7/) [Chương 76.8](https://diemlien.wordpress.com/2013/07/09/chi-ton-phe-hau-chuong-76-p8/) [Chương 77.1](https://diemlien.wordpress.com/2013/07/10/chi-ton-phe-hau-chuong-77-p1/) [Chương 77.2 ](https://diemlien.wordpress.com/2013/07/11/chi-ton-phe-hau-chuong-77-p2/) [Chương 77.3](https://diemlien.wordpress.com/2013/07/12/chi-ton-phe-hau-chuong-77-p3/) [ Chương 77.4](https://diemlien.wordpress.com/2013/07/15/chi-ton-phe-hau-chuong-77-p4/) [Chương 78.1](https://diemlien.wordpress.com/2013/07/16/chi-ton-phe-hau-chuong-78-1/) [Chương 78.2](https://diemlien.wordpress.com/2013/07/17/chi-ton-phe-hau-chuong-78-p2/) [Chương 78.3](https://diemlien.wordpress.com/2013/07/18/chi-ton-phe-hau-chuong-78-p3/) C [hương 78.4](https://diemlien.wordpress.com/2013/07/19/chi-ton-phe-hau-chuong-78-p4/) [Chương 78.5](https://diemlien.wordpress.com/2013/07/22/chi-ton-phe-hau-chuong-78-p5/) [Chương 79.1](https://diemlien.wordpress.com/2013/07/23/chi-ton-phe-hau-chuong-79-p1/) [Chương 79.2](https://diemlien.wordpress.com/2013/07/29/chi-ton-phe-hau-chuong-79-p2/) [Chương 79.3](https://diemlien.wordpress.com/2013/07/30/chi-ton-phe-hau-chuong-79-p3/) [Chương 79.4](https://diemlien.wordpress.com/2013/07/31/chi-ton-phe-hau-chuong-79-p4/) [Chương 80.1](https://diemlien.wordpress.com/2013/08/01/chi-ton-phe-hau-chuong-80-p1/) [Chương 80.2](https://diemlien.wordpress.com/2013/08/02/chi-ton-phe-hau-chuong-80-p2/) [Chương 80.3](https://diemlien.wordpress.com/2013/08/05/chi-ton-phe-hau-chuong-80-p3/) [Chương 80.4](https://diemlien.wordpress.com/2013/08/06/chi-ton-phe-hau-chuong-80-p4/) [Chương 81.1](https://diemlien.wordpress.com/2013/08/07/chi-ton-phe-hau-chuong-81-p1/) [Chương 81.2](https://diemlien.wordpress.com/2013/08/08/chi-ton-phe-hau-chuong-81-p2/) [Chương 81.3 ](https://diemlien.wordpress.com/2013/08/09/chi-ton-phe-hau-chuong-81-p3/) [Chương 81.4](https://diemlien.wordpress.com/2013/08/12/chi-ton-phe-hau-chuong-81-p4/) [Chương 82.1](https://diemlien.wordpress.com/2013/08/13/chi-ton-phe-hau-chuong-82-p1/) [Chương 82.2](https://diemlien.wordpress.com/2013/08/14/chi-ton-phe-hau-chuong-82-p2/) [Chương 82.3](https://diemlien.wordpress.com/2013/08/16/chi-ton-phe-hau-chuong-82-p3/) [Chương 82.4](https://diemlien.wordpress.com/2013/08/17/chi-ton-phe-hau-chuong-82-p4/) [Chương 83.1](https://diemlien.wordpress.com/2013/08/21/chi-ton-phe-hau-chuong-83-p1/) [Chương 83.2](https://diemlien.wordpress.com/2013/08/22/chi-ton-phe-hau-chuong-83-p2/) [Chương 83.3](https://diemlien.wordpress.com/2013/08/23/chi-ton-phe-hau-chuong-83-p3/) [Chương 83.4](https://diemlien.wordpress.com/2013/08/24/chi-ton-phe-hau-chuong-83-p4/) [Chương 84.1](https://diemlien.wordpress.com/2013/08/26/chi-ton-phe-hau-chuong-84-p1/) [Chương 84.2](https://diemlien.wordpress.com/2013/08/27/chi-ton-phe-hau-chuong-84-p2/) [Chương 84.3](https://diemlien.wordpress.com/2013/08/28/chi-ton-phe-hau-chuong-84-p3/) [Chương 85.1](https://diemlien.wordpress.com/2013/08/29/chi-ton-phe-hau-chuong-85-p1/) [Chương 85.2 ](https://diemlien.wordpress.com/2013/08/30/chi-ton-phe-hau-chuong-85-p2/) [Chương 86.1](https://diemlien.wordpress.com/2013/09/03/chi-ton-phe-hau-chuong-86-p1/) [Chương 86.2](https://diemlien.wordpress.com/2013/09/04/chi-ton-phe-hau-chuong-86-p2/) [Chương 86.3](https://diemlien.wordpress.com/2013/09/06/chi-ton-phe-hau-chuong-86-p3/) [Chương 86.4](https://diemlien.wordpress.com/2013/09/09/chi-ton-phe-hau-chuong-86-p4/) [Chương 87.1](https://diemlien.wordpress.com/2013/09/10/chi-ton-phe-hau-chuong-87-p1/) [Chương 87.2](https://diemlien.wordpress.com/2013/09/11/chi-ton-phe-hau-chuong-87-p2/) [Chương 87.3](https://diemlien.wordpress.com/2013/09/13/chi-ton-phe-hau-chuong-87-p3/) [Chương 87.4](https://diemlien.wordpress.com/2013/09/14/chi-ton-phe-hau-chuong-87-p4/) [Chương 88.1](https://diemlien.wordpress.com/2013/09/23/chi-ton-phe-hau-chuong-88-p1/) [Chương 88.2](https://diemlien.wordpress.com/2013/09/24/chi-ton-phe-hau-chuong-88-p2/) [Chương 88.3](https://diemlien.wordpress.com/2013/09/25/chi-ton-phe-hau-chuong-88-p3/) [Chương 88.4](https://diemlien.wordpress.com/2013/09/26/chi-ton-phe-hau-chuong-88-p4/)
—————-End—————-
truyen ngược hay sủng vậy nàng? thanks
truyện xuyên không bạn ạ! Thanks!
hihi mình biết xuyên không, nhưng mình kg biết sủng hay ngược, vì mình muốn kéo link truyện ngược qua điệp tiên cóc, giới thiệu nhà dùm bạn, thanks
thanks vì bạn đã có ý giới thiệu nhà dùm mình.Truyện ngược bạn ah
hihihi thanks bạn,
chào bạn, bạn có thể cho phép mình repost tr này lên DĐLQĐ đc kg? mình sẽ dẫn link và ghi tên ng edit đầy đủ. rất mong nhận đc sự đồng ý và hồi âm của bạn. thanks
tuy trả lời hơi muộn nhưng mình ok với lời đề nghị của bạn
Thanks bạn đã bỏ thời gian theo dõi
hihihi. Đây là link mình post. rất cảm ơn bạn. 😀
http://diendanlequydon.com/viewtopic.php?f=144&t=315683
Cảm ơn nàng đã edit ^^
Thanks nàng đã đọc!!!!
bạn ơi truyện có bao nhiêu chương vậy bạn. cảm ơn bạn đã edit.
mình thật sự không biết nữa, cứ đọc đến đâu mình post đến đó. Thanhks bạn đã đọc!
HE không nàng ơi? Sao ta không thấy có văn án vậy?
hihi, quên đó nàng, bổ sung ngay nha!thanks nàng đã nhắc
Cam on ban Lien Nhi da edit truyen. Co gang len nha
Hoàn rồi ~ c.ơn nàng đã làm và post truyện mừng truyện đã hoàn *tung bông**tung hoa**tung đô la*~~~
Mong chờ dự án tiếp theo của nàng ^^~
nàng có muốn làm ebook truyện này không? nếu có thì ta sẽ làm giúp nàng. Mong nàng đồng ý làm. ^.^
Thank nàng đã bỏ công edit truyện này nhé
Không biết nhà nàng có làm ebook truyện này không?
Nếu được có thể cho ta làm ebook được không?
mình không làm nên bạn cứ tự nhiên, miễn là ghi nguồn rõ ràng là mình ok luôn!
Thank bạn nhiều nhiều ❤ ❤ ❤
Bạn ơi, có thể cho mình đang truyện này qua dễn đàn lê quý đôn được không ?
Mình sẽ dẫn link và ghi rõ nguồn
Thanks bạn đã edt ^^
ok bạn a!
ok bạn a!
Mình xin làm ebook truyện này được k bạn? Mình sẽ ghi nguồn rõ ràng.
Cảm ơn bạn vì đã bỏ công sức ra edit truyện, truyện đầu tiên edit hoàn chắc vui lắm nhỉ 😀
vâng, nhưng mình dạo này bận kinh nên có thể sang hết tháng báo cáo mới có thể edit tiếp tục được!
Còn edit truyện này xong đúng là vui nhưng cũng cần kiên trì lắm mới xong chứ đọc không thấy nó dài thấy ớn, hihi. Cuối cùng cũng ổn nên thở phào….
Mình cũng đào mấy cái hố dài, h ngồi nhìn nó mà thấy ớn…chẳng có tin thần lấp hố chút nào ^^
Khi nào làm xong ebook mình sẽ gửi lịnk cho bạn nha
mình ngày trước cũng nhiệt tình muốn đào hố lắm, nhưng càng đào mới biết sức mình có hạn, một hố xong còn hơn có trăm hố dở dang. Chính vì vậy mình mới quyết tâm lấp hố ” Chí tôn phế hậu”
Chúc bạn lấp đầy các hố đã đào. Thanks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
bạn ơi có thể cho mình post truyện qua diễn đàn lê quý đôn được không?
mình sẽ ghĩ rõ nguồn và dẫn link đầy đủ
thanks bạn đã edit
được bạn ạ!
Diễm Liên ơi mình muốn làm ebook đọc quá mà mấy nay bận học nên vẫn chưa copy hết đc, bạn còn giữ bản word k? Share cho mình 1 bản với
mình làm đến đâu cắt hết lên trên WP đến đó cậu ah. Hihi, chính vì vậy đến chương cuối cũng là trắng word luôn
Thông cảm nha bạn!!!!!
Cảm ơn vì đã ưu ái ” Chí tôn phế hậu” của mình.
Mỗi người mỗi kiểu mà, mình thấy vậy cũng hay, làm tới đâu cắt tới đó, mỗi ngày thấy những trang word ngày càng giảm, thì lại càng mừng vì mình đã sắp hoàn thành truyện 😀
uhm, lúc làm xong mừng vô cùng. Thanks nàng đã quan tâm và yêu thích “chí tôn phế hậu”
Mình làm ebook xong rồi, ban vào link này xem thử nha ^^ http://thiennhaitn93.wordpress.com/2014/05/24/chi-ton-phe-hau-tu-nhu/

Link: <http://wp.me/P2s5g2-gu>; rel=shortlink


markdown:
Bloom’s Taxonomy, original and revised one.
# Thẻ: bloom
[Sơ bộ về các lý thuyết của Bloom, Dreyfus và Kolb – P1](https://duongtrongtan.wordpress.com/2011/12/27/s%c6%a1-b%e1%bb%99-v%e1%bb%81-cac-ly-thuy%e1%ba%bft-c%e1%bb%a7a-bloom-dreyfus-va-kolb-p1/)
Malcom Gladwell cho rằng kĩ năng cần phải trải qua một lượng thời gian đủ lớn để tích lũy, trưởng …
[Thêm](https://duongtrongtan.wordpress.com/2011/12/27/s%c6%a1-b%e1%bb%99-v%e1%bb%81-cac-ly-thuy%e1%ba%bft-c%e1%bb%a7a-bloom-dreyfus-va-kolb-p1/)

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Truncated: length

WARC-Identified-Payload-Type: text/html

Server: nginx

Connection: close

Vary: Cookie

X-hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.

Content-Type: text/html; charset=UTF-8

X-ac: 1.dca _dca


markdown:
## 米沢でおすすめの海鮮鍋グルメ・レストラン
米沢の海鮮鍋グルメ情報が0件見つかりました。米沢のグルメ情報から気になる海鮮鍋のお店を選んでください。
【ヒトサラ】は、米沢の海鮮鍋グルメ情報をエリア、最寄駅、ご予算、ジャンル、シーンなどの条件からおすすめのグルメなお店を探すことができます。
[山形県のおすすめグルメ情報](/contents/matome/pref_yamagata.html)もご覧下さい。
エリア：米沢料理：海鮮鍋
[検索条件を変更](javascript:void(0);)
ご希望の条件にマッチする店舗はありませんでした。
左枠から検索条件を変更して、再度お試しください。
左枠から検索条件を変更して、再度お試しください。
米沢の海鮮鍋のグルメ情報一覧から気になるレストランを選んでください。【ヒトサラ】は、米沢の海鮮鍋のレストランを最寄駅、ご予算などのこだわりの条件から簡単に探せます。
米沢エリアには、
[米沢](/RY176/yamagata/T06002/I02200/)のグルメ・レストラン情報が含まれています。
米沢の
[ランチ情報](/lunch/yamagata/T06002/) [新着グルメ・レストラン情報](/arrivals/yamagata/T06002/) [人気のお店ランキング](/ranking/yamagata/T06002/)もご用意しております。
米沢でおすすめの料理ジャンルは
[和食](/RY176/GB1/yamagata/T06002/) [居酒屋](/RY176/GB2/yamagata/T06002/) [洋食](/RY176/GB3/yamagata/T06002/) [ダイニングバー](/RY176/GB6/yamagata/T06002/) [中華](/RY176/GB7/yamagata/T06002/) [バー](/RY176/GB8/yamagata/T06002/) [イタリアン](/RY176/GC0401/yamagata/T06002/) [フレンチ](/RY176/GC0402/yamagata/T06002/) [カフェ](/RY176/GC1101/yamagata/T06002/) [スイーツ](/RY176/GC1102/yamagata/T06002/) [寿司](/RY176/GC0102/yamagata/T06002/) [パスタ・ピザ](/RY176/GC0403/yamagata/T06002/) [うどん・そば](/RY176/GC0106/yamagata/T06002/) [焼肉](/RY176/GC0501/yamagata/T06002/) [韓国料理](/RY176/GC0502/yamagata/T06002/)です。 [注目のキーワードから探す](http://kw.hitosara.com/)

Server: Apache

Vary: User-Agent

Content-Type: text/html; charset=Shift_JIS


markdown:
Kiểu ứng viên nhà tuyển dụng muốn tìm kiếm
Thật khó để nhà tuyển dụng tìm kiếm được một ứng viên hội tụ đầy đủ những phẩm chất ưu việt mà họ cần. Nhưng nếu bạn tham khảo và học hỏi theo 10 tiêu chuẩn dưới đây, theo sự đòi hỏi của nhà tuyển dụng thì bạn đã trở thành một ứng viên tuyệt vời để họ mong đợi.
1. Tính chính trực. Đây là phẩm chất quan trọng nhất. Hầu hết nhà tuyển dụng đều muốn có một nhân viên, người luôn trung thành với lời nói của mình, hoàn thành mọi công việc và các dự án theo đúng phương cách. Điều đó bao gồm tính chân thật và làm đúng mọi việc trong bất cứ tình huống nào.
2. Tính kiên định. Một người không thể mang lại sự thành công nếu anh ta/cô ta chỉ làm được tuần đầu và thật khủng khiếp vào tuần thứ hai. Một phẩm chất kiên định là yếu tố cơ bản của sự thành công. Nếu nhà tuyển dụng không biết trông chờ vào bất cứ công việc cho ra hàng ngày của nhân viên, họ sẽ không bao giờ đặt sự kỳ vọng vào cá nhân ấy.
3. Đáng tin cậy. Đây là một phần mở rộng của tính kiên định. Tính kiên định luôn đi đôi với sự tin cậy. Nhà tuyển dụng có thể giao phó công việc cho một người biết hoàn thành bất cứ công việc được giao. Nhiệm vụ đó cũng có thể được hoàn tất trong bất cứ nguyên tắc chỉ đạo nào đưa ra.
4. Kịp thời. Đúng lúc. Không cần để phải giải thích phạm trù này. Sớm hơn, hoặc không bao giờ trễ. Điều này thể hiện sự tôn trọng về qui tắc làm việc. Không đi làm trễ, không nộp các bài báo cáo hay các dự án qúa thời hạn. Quản lý thời gian như là một điều quan trọng trong công việc cũng như trong cuộc sống của bạn.
5. Có óc tổ chức. Việc hướng dẫn một cuộc thảo luận, việc cung cấp những thông tin cơ bản cho đồng nghiệp, hoặc đơn giản là cần một bài giới thiệu nhanh đúng thời điểm, nếu anh ta/cô ta không có óc tổ chức thì sẽ xắp sếp lộn xộn hoặc không hoàn thành tốt công việc được giao phó.
6. Có óc sáng tạo. Chủ động sáng tạo hay đưa ra những ý kiến vào những ngày đầu làm việc sẽ chứng tỏ được sự cống hiến của bản thân đối với công việc. Không có nhà tuyển dụng nào muốn đưa ra lời gợi ý qua mỗi ngày, mỗi tuần hay mỗi tháng về tiềm năng thăng tiến của nhân viên. Một nhân viên muốn thăng tiến thì phải biết tìm ra giá trị năng lực của bản thân và phát huy nó qua việc chủ động sáng tạo. Óc sáng tạo là chiếc chìa khóa để hành động và để tiến về phía trước.
7. Kiến thức mở rộng. Một lao động chuẩn của thế giới là phải luôn thay đổi. Duy trì sự am hiểu về khoa học công nghệ, phương pháp làm việc hiệu quả, nhiều ý tưởng, có kiến thức về khoa học… Nhiều công ty phải biết cải tiến để được duy trì nên cần những nhân viên biết đổi mới phương pháp làm việc. Bất cứ cá nhân nào cũng cần sự thay đổi và có những ý tưởng mới để giữ cho mọi thứ được đổi mới hàng ngày và lôi cuốn.
8. Cân bằng. Một cá nhân phải biết giữ cho mọi thứ được tiến triển tốt. Nghĩa là làm sao để cân bằng giữa gia đình và công việc, giữa công việc và cuộc sống xã hội, hoặc mọi thứ khác. Chúng ta có thể làm cân bằng tất cả mọi thứ trong sự điềm tĩnh tương đối và cân bằng thái độ.
9. Năng lực. Làm mọi thứ đều đúng và việc sử dụng tất cả vốn kiến thức và tài năng có hiệu quả cho công việc, hoàn tất tốt trách nhiệm được giao. Nhà tuyển dụng sẽ tìm kiếm một ứng viên tuy không có nhiều kinh nghiệm làm việc nhưng có nhiều năng lực tiềm năng cho công việc của họ.
10. Sự truyền đạt. Trình bày tốt trước đám đông, nhất là trong môi trường làm việc nhóm. Kỹ năng truyền đạt rất quan trọng, thể hiện cá nhân đó có khả năng lãnh đạo và chỉ đạo hay không. Nếu hội tụ đầy đủ 10 phẩm chất trên đây, thì bạn chính là người mà hầu hết nhà tuyển dụng đều mong tìm kiếm.

Link: <http://wp.me/p2rtqt-dp>; rel=shortlink


markdown:
Kinh doanh đa cấp bạn có bị ru ngủ
Những năm gần đây, cụm từ “kinh doanh đa cấp”, “kinh doanh theo mạng”, “hoa hồng”, “phần trăm”, “tuyến dưới”… đã trở nên quá quen thuộc trong giới sinh viên, cử nhân, kỹ sư có mong muốn làm giàu 1 cách nhanh chóng.
Xin chào và chúc một ngày tốt lành! Bạn nhận được e-mail này vì bạn đã rất may mắn được trao một cơ hội có thể thay đổi cả cuộc đời bạn nếu bạn thực sự biết nắm giữ. Thật tiếc là chúng ta đã để lỡ một khoảng thời gian rất giá trị, bởi trong thời gian đó, đã có rất nhiều người nắm bắt được cơ hội tuyệt vời này để thay đổi cuộc sống của mình.
Tin không tốt nữa là trong thời gian đó, thu nhập của bạn tuy chưa tăng nhiều nhưng sự chi tiêu, giá cả của mọi thứ vẫn đang tăng lên chóng mặt. Cuộc sống của bạn trong những ngày qua có dễ chịu không, trước bối cảnh mà đồng tiền càng ngày càng trượt giá và công việc thì gặp nhiều khó khăn? Trong khi hằng ngày, bạn vẫn đang làm giàu cho ông chủ nhưng ông chủ của bạn đã giúp bạn chưa? Chúng tôi hy vọng là ông chủ của bạn đủ khỏe mạnh và việc kinh doanh của ông ấy thuận lợi để trả lương cho bạn. Nhưng tốt hơn hết là BẠN hãy tự làm ông chủ cho mình.
Tin tốt ngày hôm nay là BẠN hoàn toàn CÓ THỂ LÀM ĐƯỢC, bất kể bạn là ai, đến từ đâu, ngành nghề gì, già hay trẻ… Nếu bạn đang muốn thay đổi để có một thu nhập tốt hơn, nâng cao chất lượng cuộc sống của mình, hay đơn giản chỉ là muốn tự kiểm soát cuộc đời của BẠN mà không phải lệ thuộc vào ai, thì đã đến lúc để hành động. Đừng trì hoãn đến khi đã quá muộn. Với những gì đã làm được trong suốt một thập niên qua, chúng tôi tự hào là hệ thống hỗ trợ lớn nhất trên toàn cầu, mang đến giải pháp và hệ thống kinh doanh đã được chứng minh trong thực tiễn là thành công, đã thay đổi cuộc đời của rất nhiều người ”trên 40 quốc gia trên thế giới. Còn BẠN thì sao? Đừng tiếp tục làm người chứng kiến nữa, hãy trở thành bằng chứng. Hãy HÀNH ĐỘNG! Chúng tôi sẽ chỉ cho bạn thấy cách chúng tôi giúp bạn sa thải ông chủ của mình. Bước tiếp theo của bạn: Trả lời thư này với tên, tuổi, số điện thoại và nơi ở của bạn. Tin tốt cho những ai đang sống và làm việc tại Hà Nội, chúng tôi sẽ liên hệ với bạn ngay khi nhận được e-mail trả lời. Nếu bạn ở tỉnh khác? Không sao cả, chúng tôi vẫn sẽ có giải pháp để hỗ trợ bạn từ xa, tất nhiên sẽ cần nhiều thời gian hơn một chút. Lá thư này có khiến bạn tò mò không? Người viết thư có tên là Nguyễn Quang Huy. Bên cạnh tên anh ta là một slogan bắt mắt: “Think Less. Do More” và chức danh “Global Distribubor Leader”. Sau các thao tác liên lạc, chúng tôi hẹn gặp với Quang Huy ở một tòa nhà lớn khu vực Mỹ Đình, Hà Nội. Nơi đây có văn phòng của một công ty bán hàng đa cấp với nhãn hàng TS. Huy bảo, cậu vừa tốt nghiệp trường ĐH Xây dựng, tham gia TS được chừng 3 tháng và đang ở cấp độ “2 sao”. Giải thích về lá thư tưởng chừng như đi lạc ấy, Huy nói: “Bọn mình có một phần mềm và có thể có được hàng nghìn e-mail nếu muốn. Việc của bọn mình là phải viết được những bức thư gợi trí tò mò để người đọc e-mail liên lạc với mình. Phải có những chi tiết đắt như “công việc thay đổi cuộc sống của rất nhiều người tại 40 quốc gia trên thế giới” và “chúng tôi sẽ chỉ cho bạn cách sa thải ông chủ của mình”… Khi Huy gửi thư đi, có không ít người đã trả lời lại và có những người đã thành khách hàng hoặc một nhà phân phối tuyến dưới của Huy”.
Các cử nhân, kỹ sư đang rầm rộ đi bán hàng đa cấp
Trò chuyện với chúng tôi, ngoài Huy, còn có một bạn tên Nhung, là sinh viên năm cuối, chuyên ngành Thiết kế thời trang. Nhung là tuyến trên của Huy, đã tham gia bán hàng đa cấp được hơn một năm rưỡi. Dưới Nhung bây giờ có đến vài trăm người.
Và Nhung nói rằng: “Ở trường mình có rất nhiều bạn đang tham gia bán hàng đa cấp ở các công ty. Và riêng trong hệ thống của Nhung thì có đến 2/3 thành viên là sinh viên”.
Hỏi rằng Huy có tiếc nuối không khi đã bỏ tiền bạc và 5 năm đại học để trở thành một kỹ sư xây dựng nhưng sau đó lại lựa chọn một công việc kinh doanh đa cấp không liên quan gì đến chuyên ngành mình học, Huy hùng hồn chia sẻ: “Công việc của một kỹ sư ra trường bây giờ lương chẳng là bao. 20 năm nữa, giỏi lắm mình cũng chỉ thu nhập tầm 20 triệu đồng/tháng. Nhưng làm công việc này, chỉ vài năm, mình có thể thu nhập hàng trăm triệu đồng”. Rồi sau đó, Huy mời chúng tôi tham gia hệ thống và vẽ ra viễn cảnh khi chúng tôi là cấp bậc “6 sao”, “8 sao”… cho đến một mức độ nào đó, bạn sẽ được tặng thưởng xe Mercedes, biệt thự và cả du thuyền. “Vậy tính riêng ở Hà Nội có khoảng bao nhiêu người đang tham gia bán hàng đa cấp?”. “Hàng trăm nghìn người”. “Bao nhiêu người đã được tặng Mercedes hay du thuyền?”. Huy đưa chúng tôi xem một tạp chí và dẫn ra phòng truyền thống để giới thiệu những người đã được tưởng thưởng ở cấp cao. Số lượng là 3 và sắp tới là 4.
Nhưng phải đến khi có mặt trong các buổi hội thảo kinh doanh của các công ty bán hàng đa cấp ở Hà Nội, bạn mới thực sự thấy hết sự rầm rộ của lực lượng hùng hậu những người trẻ tuổi đang hân hoan đi bán hàng đa cấp. Dù chỉ là một hội thảo của một nhánh, hay buổi nói chuyện của một nhân vật cấp cao vừa được tăng level trong hệ thống thì số lượng người có mặt đã từ 800 cho đến 1.500 người.
Một ngày cuối tuần, chúng tôi có mặt tại Cung thi đấu điền kinh Mỹ Đình, nơi diễn ra hoạt động chia sẻ kinh nghiệm và tưởng thưởng của một công ty kinh doanh đa cấp. Số lượng người xuất hiện ở hội nghị này là khoảng 8.000. Những người trong hệ thống chia sẻ: Cứ mỗi tháng chúng tôi lại tổ chức một hội nghị như thế với số lượng người tương đương và sắp tới sẽ còn tăng hơn nữa.
Bạn có mặt trong hệ thống này không?
Ở công ty kinh doanh đa cấp nào cũng đang rao giảng một bài giống nhau: Đây là công việc mà bất cứ ai cũng có thể làm được, từ tiến sĩ, kỹ sư đến bà bán nước vỉa hè hay nhân viên quét rác. Chỗ này người ta quảng cáo một vị tướng về hưu vừa tham gia kinh doanh, chỗ kia người ta khẳng định một tiến sĩ bộ nọ vừa được tưởng thưởng. Và những gương mặt đông đảo nhất trong các hệ thống ấy vẫn là sinh viên.
Bạn ấy sinh năm 1992 mà đã “5 sao”, bạn ấy sinh năm 1993 mà đã lên mức “Bạch kim”, bạn ấy sinh năm 1991 và thu nhập là 50 triệu đồng/tháng. Nhưng thường thì người ta không nhắc đến những người đã từng đắm đuối trong kinh doanh đa cấp và lúc rút chân ra thì phờ phạc, tả tơi và túi tiền rơi rụng.
Người ta không nhắc đến những người không thành công dù cho những người đó đang là số quá nhiều. Đây là chia sẻ của Đinh Thu Hương (năm thứ 3, trường ĐH KHXH&NV, ĐHQG Hà Nội): “Cô bạn cùng phòng của mình hôm ấy rất vui, khoe là đã tìm được một công việc vừa không tốn thời gian, vừa nhàn hạ lại lương cao. Cô ấy vừa đi dự một buổi hội thảo mà ở đó có cả học sinh THCS đến các cụ già. Ở đó, ai cũng mang đầy dáng vẻ của những người tự tin và thành đạt. Bạn này được chị họ giới thiệu đến công ty bán hàng đa cấp T.N.M.U”. Chị họ bạn ấy nói rằng, bước đầu chỉ phải nộp 3,2 triệu đồng để mua sản phẩm. Vấn đề là cần phải nộp tiền nhanh vì đang có đợt khuyến mãi, nếu mua sản phẩm 3,2 triệu đồng sẽ được khuyến mãi 2 bộ đồ lót giá 1,4 triệu đồng. Điều quan trọng là sau đó, gỡ lại vốn rất nhanh vì chỉ cần mời thêm được 3 người làm giống mình là gỡ gạc được vốn. Vậy là cô bạn cùng phòng nhanh chóng gọi điện xin tiền bố mẹ với lý do là học thêm tiếng Anh để đóng tiền cho bà chị họ.
Cô bạn này tham gia được một tuần thì mời thêm được cô bạn khác cùng phòng ký túc tham gia. Ai cũng có những lý do gian dối rất phù hợp để xin thêm bố mẹ khoản tiền 3,2 triệu đồng. Cả hai cô bạn này, sau đó nhanh chóng có mặt tại các buổi hội thảo,các chương trình giao lưu, các hoạt động đào tạo của công ty để học cách: Làm thế nào bán được hàng, làm thế nào mời gọi tuyến dưới tham gia với mình. Họ bắt đầu bỏ tiết trên lớp, vắng mặt triền miên các buổi cuối tuần. Sau hơn 2 tháng, họ nằm bẹp rúm trong phòng ký túc, tắt máy điện thoại và đầu hàng với kế hoạch xây dựng hệ thống, lôi kéo thật nhiều người tham gia”.

Link: <http://wp.me/p2rtqt-fo>; rel=shortlink


markdown:
# Persona is Shutting Down
[¶](#persona-is-shutting-down)
Mozilla has announced that
[Persona will be shutting down November 2016](https://wiki.mozilla.org/Identity/Persona_Shutdown_Guidelines_for_Reliers).
django-browserid [relies on the Persona service](http://django-browserid.readthedocs.org/en/latest/user/intro.html#persona-dependence) and will stop functioning
properly once Persona is shut down. While it is possible to self-host Persona
and configure django-browserid to rely on your own instance, this is difficult
and not recommended. See the wiki page linked above for recommended alternatives
to Persona for authentication.
# django-browserid
[¶](#django-browserid)
Release v2.0.2. (
[) Quickstart](index.html#document-user/quickstart)
django-browserid is a Python library that integrates
[BrowserID](https://github.com/mozilla/id-specs/blob/prod/browserid/index.md) authentication
into [Django](https://www.djangoproject.com/).
BrowserID is an open, decentralized protocol for authenticating users based on
email addresses. django-browserid provides the necessary hooks to get Django
to authenticate users via BrowserID. By default, django-browserid relies on
[Persona](https://persona.org) for the client-side JavaScript shim and for assertion verification.
django-browserid is tested on Python 2.7 and 3.4 onward, and supports Django
1.8 and up. See
[tox.ini](https://github.com/mozilla/django-browserid/blob/master/tox.ini) for more details.
django-browserid depends on:
django-browserid is a work in progress. Contributions are welcome. Feel free
to
[fork](https://github.com/mozilla/django-browserid) and contribute!
## User Guide
[¶](#user-guide)
### Introduction
[¶](#introduction)
#### How does it work?
[¶](#how-does-it-work)
At a high level, this is what happens when a user wants to log into a site that uses django-browserid:
- A user clicks a login button on your web page.
- The JavaScript shim (hosted by
[Persona](https://www.persona.org)) displays a pop-up asking for the email address the user wants to log in with.
- If necessary, the pop-up prompts the user for additional info to authenticate them. For example, if the user enters an @mozilla.com email, the Mozilla LDAP Identity Provider will prompt them for their LDAP password.
- The JavaScript receives an “assertion” from the Identity Provider and submits it to the site’s backend via AJAX.
- The backend sends the assertion to the
[Remote verification service](https://developer.mozilla.org/Persona/Remote_Verification_API), which verifies the assertion and returns the result, including the email address of the user if verification was successful.
- The backend finds a user account matching that email (creating it if one isn’t found) and logs the user in as that account.
- The backend returns a URL that the JavaScript redirects the user to.
Note that this is just an example flow. Several of these steps can be customized for your site; for example, you may not want user accounts to be created automatically. This behavior can be changed to suit whatever needs you have.
A
[detailed explanation of the BrowserID protocol](https://developer.mozilla.org/Persona/Protocol_Overview) is available on MDN.
#### Persona
[¶](#persona-dependence)
By default, django-browserid relies on Persona, which is a set of BrowserID-related services hosted by Mozilla. It’s possible, but annoying, to use django-browserid without these dependencies.
Currently, django-browserid relies on Persona for:
- The
[Cross-browser API Library](https://developer.mozilla.org/Persona/Bootstrapping_Persona#Cross-browser_API_Library), which implements the
navigator.idAPI for browsers that don’t natively support BrowserID.
- The
[Fallback Identity Provider](https://developer.mozilla.org/Persona/Bootstrapping_Persona#Fallback_Identity_Provider)for emails from servers that don’t support BrowserID.
- The
[Remote verification service](https://developer.mozilla.org/Persona/Remote_Verification_API), which handles assertion verification for sites that don’t want to verify assertions themselves.
In the future, django-browserid will remove the need to depend on these Mozilla-centric services. Local verification and a self-hosted cross-browser API will greatly reduce the reliance on Mozilla’s servers for authentication.
### Quickstart
[¶](#quickstart)
Follow these instructions to get set up with a basic install of django-browserid:
#### Installation
[¶](#installation)
You can use pip to install django-browserid and requirements:
$ pip install django-browserid
#### Configuration
[¶](#configuration)
After installation, you’ll need to configure your site to use django-browserid.
Start by making the following changes to your
settings.py file:
# Add 'django_browserid' to INSTALLED_APPS. INSTALLED_APPS = ( # ... 'django.contrib.auth', 'django_browserid', # Load after auth # ... ) # Add the django_browserid authentication backend. AUTHENTICATION_BACKENDS = ( # ... 'django.contrib.auth.backends.ModelBackend', 'django_browserid.auth.BrowserIDBackend', # ... )
Next, edit your
urls.py file and add the following:
urlpatterns = patterns('', # ... (r'', include('django_browserid.urls')), # ... )
Note
The django-browserid urlconf
*must not* have a regex with the
include. Use a blank string, as shown above.
Finally, you’ll need to add the login button and info tag to your Django templates, along with the CSS and JS files necessary to make it work:
{% load browserid %}   {% browserid_css %}   {% browserid_info %} {% if user.is_authenticated %}
Current user: {{ user.email }}
 {% browserid_logout text='Logout' %} {% else %} {% browserid_login text='Login' color='dark' %} {% endif %}  {% browserid_js %}
Note
api.js and
browserid.js require
[jQuery](http://jquery.com/) 1.8 or higher.
Note
The
browserid_info tag is required on any page that users can log
in from. It’s recommended to put it just below the
 tag.
And that’s it! You can now log into your site using Persona!
Once you’re ready, you should check out
[ to your liking. how to customize django-browserid](index.html#document-user/customization)
#### Note for Jinja2 / Jingo Users
[¶](#note-for-jinja2-jingo-users)
If you’re using
[Jinja2](http://jinja.pocoo.org/) via [jingo](https://github.com/jbalogh/jingo), here’s a version of the example above
written in Jinja2:
  {{ browserid_css() }}   {{ browserid_info() }} {% if user.is_authenticated() %}
Current user: {{ user.email }}
 {{ browserid_logout(text='Logout') }} {% else %} {{ browserid_login(text='Login', color='dark') }} {% endif %}  {{ browserid_js() }}
### Customization
[¶](#customization)
Now that you’ve got django-browserid installed and configured, it’s time to see how to customize it to your needs.
#### Local Assertion Verification
[¶](#local-assertion-verification)
When a user authenticates via django-browserid, they do so by sending your site
an assertion, which, when verified, gives you an email address for the user.
Normally, this verification is handled by sending the assertion to a
[verification service hosted by Mozilla](https://developer.mozilla.org/en-US/Persona/Remote_Verification_API).
However, you can also verify assertions locally and avoid relying on the
verification service. To do so, you must install
[PyBrowserID](https://pypi.python.org/pypi/PyBrowserID/). django-browserid
checks for PyBrowserID, and if it is found, it enables the use of the
[ class. LocalVerifier](index.html#django_browserid.LocalVerifier)
Once you’ve installed PyBrowserID, add the
[
class to your LocalBrowserIDBackend](index.html#django_browserid.auth.LocalBrowserIDBackend)
AUTHENTICATION_BACKENDSsetting:
AUTHENTICATION_BACKENDS = ( 'django_browserid.auth.LocalBrowserIDBackend', )
Note
Because the BrowserID certificate format has not been finalized, PyBrowserID may fail to verify a valid assertion if the format changes. Be aware of the risks before enabling local verification.
#### Customizing the Verify View
[¶](#customizing-the-verify-view)
Many common customizations involve overriding methods on the
[ class. But how do you use a
custom Verify](index.html#django_browserid.views.Verify)
Verifysubclass?
You can substitute a custom verification view by setting
[ to
the import path for your view: BROWSERID_VERIFY_CLASS](index.html#django.conf.settings.BROWSERID_VERIFY_CLASS)
BROWSERID_VERIFY_CLASS = 'project.application.views.MyCustomVerifyClass'
#### Customizing the Authentication Backend
[¶](#customizing-the-authentication-backend)
Another common way to customize django-browserid is to subclass
[. To use a
custom BrowserIDBackend](index.html#django_browserid.auth.BrowserIDBackend)
BrowserIDBackendclass, simply use the python path to your custom class in the
AUTHENTICATION_BACKENDSsetting instead of the path to
BrowserIDBackend.
#### Post-login Response
[¶](#post-login-response)
After logging the user in, the default view redirects the user to
[ or
LOGIN_REDIRECT_URL](index.html#django.conf.settings.LOGIN_REDIRECT_URL) [, depending on if login succeeded or failed. You can modify those settings to change where they are redirected to.](index.html#django.conf.settings.LOGIN_REDIRECT_URL_FAILURE)
LOGIN_REDIRECT_URL_FAILURE
Note
You can use
django.core.urlresolvers.reverse_lazy to generate a
URL for these settings from a URL pattern name or function name.
You can also override the
[ and
success_url](index.html#django_browserid.views.Verify.success_url) [properties on the](index.html#django_browserid.views.Verify.failure_url)
failure_url
Verifyview if you need more control over how the redirect URLs are retrieved.
If you need to control the entire response to the
Verify view, such as when
you’re
[using custom JavaScript](#customjs), you’ll want to override
[
and login_success](index.html#django_browserid.views.Verify.login_success) [.](index.html#django_browserid.views.Verify.login_failure)
login_failure
#### Automatic User Creation
[¶](#automatic-user-creation)
If a user signs in with an email that doesn’t match an existing user,
django-browserid automatically creates a new User object for them that is tied
to their email address. You can disable this behavior by setting
[ to
False, which will cause authentication to fail if a user signs in with an
unrecognized email address. BROWSERID_CREATE_USER](index.html#django.conf.settings.BROWSERID_CREATE_USER)
If you want to customize how new users are created (perhaps you want to
generate a display name for them), you can override the
[ method
on create_user](index.html#django_browserid.auth.BrowserIDBackend.create_user)
BrowserIDBackend:
from django_browserid.auth import BrowserIDBackend class CustomBackend(BrowserIDBackend): def create_user(self, email): username = my_custom_username_algo() return self.User.objects.create_user(username, email)
Note
self.User points to the User model defined in
AUTH_USER_MODEL for custom User model support. See
[Custom User Models](#custom-user-models)
for more details.
#### Limiting Authentication
[¶](#limiting-authentication)
There are two ways to limit who can authenticate with your site: prohibiting certain email addresses, or filtering the queryset that emails are compared to.
##### filter_users_by_email
[¶](#filter-users-by-email) [
returns the queryset that is searched when looking for a user account that
matches a user’s email. Overriding this allows you to limit the set of users
that are searched: filter_users_by_email](index.html#django_browserid.auth.BrowserIDBackend.filter_users_by_email)
from django_browserid.auth import BrowserIDBackend class CustomBackend(BrowserIDBackend): def filter_users_by_email(self, email): # Only allow staff users to login. return self.User.objects.filter(email=email, is_staff=True)
Note
If you customize
filter_users_by_email, you should probably make
sure that
[Automatic User Creation](#automatic-user-creation) is either disabled or customized to
only create users that match your limited set.
##### is_valid_email
[¶](#is-valid-email) [
determines if the email a user attempts to log in with is considered valid.
Override this to exclude users with certain emails: is_valid_email](index.html#django_browserid.auth.BrowserIDBackend.is_valid_email)
from django_browserid.auth import BrowserIDBackend
- class CustomBackend(BrowserIDBackend):
-
- def is_valid_email(self, email):
- # Ignore users from fakeemails.com return not email.endswith(
['@fakeemails.com]‘)
#### Custom User Models
[¶](#custom-user-models)
Django allows you to
[use a custom User model for authentication](https://docs.djangoproject.com/en/dev/topics/auth/customizing/#specifying-a-custom-user-model). If you are using a custom User model, and the model has
an
If this isn’t the case, then you will probably have to override the
[,
is_valid_email](index.html#django_browserid.auth.BrowserIDBackend.is_valid_email) [, and](index.html#django_browserid.auth.BrowserIDBackend.filter_users_by_email)
filter_users_by_email
[methods to work with your custom User class.](index.html#django_browserid.auth.BrowserIDBackend.create_user)
create_user
#### Using the JavaScript API
[¶](#using-the-javascript-api)
django-browserid comes with two JavaScript files to include in your webpage:
api.js: An API for triggering logins via BrowserID and verifying assertions via the server.
browserid.js: A basic example of hooking up links with the JavaScript API.
browserid.js only covers basic use cases. If your site has more complex
behavior behind trigger login, you should replace
browserid.js in your
templates with your own JavaScript file that uses the django-browserid
JavaScript API.
See also
JavaScript API
- API Documentation for
api.js.
#### Django Admin Support
[¶](#django-admin-support)
If you want to use BrowserID for login on the built-in Django admin interface,
you must use the
[ instead of
the default Django admin site: django-browserid admin site](index.html#django_browserid.admin.site)
from django.contrib import admin from django_browserid.admin import site as browserid_admin from myapp.foo.models import Bar class BarAdmin(admin.ModelAdmin): pass browserid_admin.register(Bar, BarAdmin)
You must also use the django-browserid admin site in your
urls.py file:
from django.conf.urls import patterns, include, url # Autodiscover admin.py files in your project. from django.contrib import admin admin.autodiscover() # copy_registry copies ModelAdmins registered with the default site, like # the built-in Django User model. from django_browserid.admin import site as browserid_admin browserid_admin.copy_registry(admin.site) urlpatterns = patterns('', # ... url(r'^admin/', include(browserid_admin.urls)), )
See also
django_browserid.admin.BrowserIDAdminSite
- API documentation for BrowserIDAdminSite, including how to customize the login page (such as including a normal login alongside BrowserID login).
#### Alternative Template Languages
[¶](#alternative-template-languages)
By default, django-browserid supports use in Django templates as well as use in
[Jinja2](http://jinja.pocoo.org/) templates via the [jingo](https://github.com/jbalogh/jingo) library. Template helpers are registered as
helper functions with jingo, so you can use them directly in Jinja2 templates:

 {% if user.is_authenticated() %} {{ browserid_logout(text='Logout') }} {% else %} {{ browserid_login(text='Login', color='dark') }} {% endif %}
 {{ browserid_js() }}
For other libraries or template languages, you will have to register the
django-browserid helpers manually. The relevant helper functions can be found
in the
[ module. django_browserid.helpers](index.html#module-django_browserid.helpers)
### Extras
[¶](#extras)
django-browserid comes with a few extra pieces to make development easier. They’re documented below.
#### Offline Development
[¶](#offline-development)
Because django-browsered
[relies on the Persona service](index.html#persona-dependence), offline development is not supported by default.
To work around this, django-browserid includes an auto-login system that lets
you specify an email to log the user in with when they click a login button.
Warning
Auto-login is a huge security hole as it bypasses authentication.
Only use it for local development on your own computer;
**never**
use it on a publicly-visible machine or your live, production
website.
##### Enable auto-login
[¶](#enable-auto-login)
To enable auto-login:
- Add the
AutoLoginBackendclass to the
AUTHENTICATION_BACKENDSsetting.
- Set
[to the email you want to be logged in as.](index.html#django.conf.settings.BROWSERID_AUTOLOGIN_EMAIL)
BROWSERID_AUTOLOGIN_EMAIL
- Set
[to](index.html#django.conf.settings.BROWSERID_AUTOLOGIN_ENABLED)
BROWSERID_AUTOLOGIN_ENABLED
True.
- If you are not using
[, you have to manually add](index.html#django_browserid.helpers.browserid_js)
browserid_js template helper
browserid/autologin.jsto your site.
For example:
AUTHENTICATION_BACKENDS = ( 'django_browserid.auth.AutoLoginBackend', 'django_browserid.auth.BrowserIDBackend', # After auto-login. ) BROWSERID_AUTOLOGIN_EMAIL = 'bob@example.com' BROWSERID_AUTOLOGIN_ENABLED = True
Once these are set, any login button that uses the
[ will not attempt to show the Persona popup, and will
immediately log you in with the email you set above. JavaScript API](index.html#document-api/javascript)
##### Disable auto-login
[¶](#disable-auto-login)
To disable auto-login:
- Set
[to](index.html#django.conf.settings.BROWSERID_AUTOLOGIN_ENABLED)
BROWSERID_AUTOLOGIN_ENABLED
False.
- If you added
browserid/autologin.jsto your site, you must remove it.
### Settings
[¶](#settings)
This document describes the Django settings that can be used to customize the behavior of django-browserid.
#### Core Settings
[¶](#core-settings)
-
django.conf.settings.
BROWSERID_AUDIENCES
[¶](#django.conf.settings.BROWSERID_AUDIENCES) Default: No default
List of audiences that your site accepts. An audience is the protocol, domain name, and (optionally) port that users access your site from. This list is used to determine the audience a user is part of (how they are accessing your site), which is used during verification to ensure that the assertion given to you by the user was intended for your site.
Without this, other sites that the user has authenticated with via Persona could use their assertions to impersonate the user on your site.
Note that this does not have to be a publicly accessible URL, so local URLs like
http://localhost:8000or
http://127.0.0.1are acceptable as long as they match what you are using to access your site.
#### Redirect URLs
[¶](#redirect-urls)
Note
These settings also accepts view function names and named URL patterns which can be used to reduce configuration duplication since you don’t have to define the URL in two places (settings and URLconf).
-
django.conf.settings.
LOGIN_REDIRECT_URL
[¶](#django.conf.settings.LOGIN_REDIRECT_URL) Default:
'/accounts/profile'
Path to redirect to on successful login. If you don’t specify this, the default Django value will be used.
-
django.conf.settings.
LOGIN_REDIRECT_URL_FAILURE
[¶](#django.conf.settings.LOGIN_REDIRECT_URL_FAILURE) Default:
'/'
Path to redirect to on an unsuccessful login attempt.
-
django.conf.settings.
LOGOUT_REDIRECT_URL
[¶](#django.conf.settings.LOGOUT_REDIRECT_URL) Default:
'/'
Path to redirect to on logout.
#### Customizing the Login Popup
[¶](#customizing-the-login-popup)
-
django.conf.settings.
BROWSERID_REQUEST_ARGS
[¶](#django.conf.settings.BROWSERID_REQUEST_ARGS) Default:
{}
Controls the arguments passed to
navigator.id.request, which are used to customize the login popup box. To see a list of valid keys and what they do, check out the
[navigator.id.request documentation](https://developer.mozilla.org/en-US/docs/DOM/navigator.id.request).
#### Customizing the Verify View
[¶](#customizing-the-verify-view)
-
django.conf.settings.
BROWSERID_VERIFY_CLASS
[¶](#django.conf.settings.BROWSERID_VERIFY_CLASS) Default:
django_browserid.views.Verify
Allows you to substitute a custom class-based view for verifying assertions. For example, the string ‘myapp.users.views.Verify’ would import Verify from myapp.users.views and use it in place of the default view.
When using a custom view, it is generally a good idea to subclass the default Verify and override the methods you want to change.
-
django.conf.settings.
BROWSERID_CREATE_USER
[¶](#django.conf.settings.BROWSERID_CREATE_USER) Default:
True
If
Trueor
False, enables or disables automatic user creation during authentication. If set to a string, it is treated as an import path pointing to a custom user creation function.
-
django.conf.settings.
BROWSERID_DISABLE_SANITY_CHECKS
[¶](#django.conf.settings.BROWSERID_DISABLE_SANITY_CHECKS) Default: False
Controls whether the
Verifyview performs some helpful checks for common mistakes. Useful if you’re getting warnings for things you know aren’t errors.
#### Using a Different Identity Provider
[¶](#using-a-different-identity-provider)
-
django.conf.settings.
BROWSERID_SHIM
[¶](#django.conf.settings.BROWSERID_SHIM) Default: ‘ [https://login.persona.org/include.js](https://login.persona.org/include.js)‘
The URL to use for the BrowserID JavaScript shim.
#### Extras
[¶](#extras)
-
django.conf.settings.
BROWSERID_AUTOLOGIN_ENABLED
[¶](#django.conf.settings.BROWSERID_AUTOLOGIN_ENABLED) Default:
False
If
True, enables auto-login. You must also set the auto-login email and authentication backend for auto-login to function. See the documentation on
[offline development](index.html#offline-development)for more info.
-
django.conf.settings.
BROWSERID_AUTOLOGIN_EMAIL
[¶](#django.conf.settings.BROWSERID_AUTOLOGIN_EMAIL) Default: Not set
The email to log users in as when auto-login is enabled. See the documentation on
[offline development](index.html#offline-development)for more info.
### Deploying in Production
[¶](#deploying-in-production)
Deploying django-browserid in a production environment requires a few extra
changes from the setup described in the
[: Quickstart](index.html#document-user/quickstart)
- The
[setting is required when](index.html#django.conf.settings.BROWSERID_AUDIENCES)
BROWSERID_AUDIENCES
DEBUGis set to False. Ensure that all the domains that users will access your site from are listed in this setting.
- Optional: It is a good idea to minify the static JS and CSS files you’re
using.
[django-compressor](http://django-compressor.readthedocs.org/en/latest/)and [jingo-minify](https://github.com/jsocol/jingo-minify)are examples of libraries you can use for minification.
### Upgrading
[¶](#upgrading)
If you’re looking to upgrade from an older version of django-browserid, you’re in the right place. This document describes the major changes required to get your site up to the latest and greatest!
#### 1.0.0 to 2.0.0
[¶](#to-2-0-0)
2.0.0 introduces a small, but backwards-incompatible change that shouldn’t affect most users. You are only affected if you:
- Use the
browserid_loginor
browserid_logouttemplate helpers to generate your login/logout buttons, and
- Use custom JavaScript that relies on the
data-nextattribute on the buttons generate by these helpers.
If both of the above apply to you, then you may have to update your custom
JavaScript, as the helpers now default to a blank
data-next value instead
of defaulting to the
LOGIN_REDIRECT_URL/
LOGOUT_REDIRECT_URL settings.
The default JavaScript does not rely on this, and it’s not expected that any project relies on this either. Most projects should be able to upgrade to the new version with no changes.
#### 0.10.1 to 1.0.0
[¶](#to-1-0-0)
No changes are necessary to switch from 0.10.1 to 1.0.0.
fancy_tag was
removed as a dependency in 1.0.0, in case you explicitly include it for your
application.
#### 0.9 to 0.10.1
[¶](#to-0-10-1)
The minimum supported version of requests is now 1.0.0, and six has been removed from the requirements.
Replace the
SITE_URLsetting with
BROWSERID_AUDIENCES, which is essentially the same setting, but must be a list of strings (wrapping your old
SITE_URLvalue with square brackets to make it a list is fine):
BROWSERID_AUDIENCES = ['https://www.example.com']
- On local development installs, you can remove
SITE_URLentirely, as
BROWSERID_AUDIENCESisn’t required when
DEBUGis True.
- On local development installs, you can remove
In your root urlconf, remove any regex in front of the include for django-browserid urls. Because the new JavaScript relies on views being available at certain URLs, you must not change the path that the django-browserid views are served:
urlpatterns = patterns('', # ... (r'', include('django_browserid.urls')), # ... )
Remove
django_browserid.context_processors.browseridfrom your
TEMPLATE_CONTEXT_PROCESSORSsetting, as the context processor no longer exists.
browserid.jshas been split into
api.js, which contains just the JavaScript API, and
browserid.js, which contains the sample code for hooking up login buttons. If you aren’t using the
browserid_jshelper to include the JavaScript on the page, you probably need to update your project to either include both or just
api.js.
The included JavaScript requires jQuery 1.8 or higher instead of jQuery 1.7.
#### 0.8 to 0.9
[¶](#to-0-9)
- Six v1.3 or higher is now required.
#### 0.7.1 to 0.8
[¶](#to-0-8)
fancy_tag 0.2.0 has been added to the required libraries.
Rename the
browserid_formcontext processor to
browseridin the
TEMPLATE_CONTEXT_PROCESSORSsetting:
TEMPLATE_CONTEXT_PROCESSORS = ( # ... 'django_browserid.context_processors.browserid', # ... )
Replace custom login button code with the new template helpers,
browserid_info,
browserid_login, and
browserid_logout.
browserid_infoshould be added just below
on any page that includes a login button.
browserid_loginand
browserid_logoutoutput login and logout links respectively.
-
It’s now recommended to include the JavaScript for the login buttons using the
browserid_jshelper, which outputs the appropriate

WARC-Identified-Payload-Type: application/zip

Server: nginx/1.10.0 (Ubuntu)

X-Served: Nginx

Content-Type: application/zip

Accept-Ranges: bytes