Sep 24, 2013

PHP isset() vs empty() vs is_null()

PHP has different functions which can be used to test the value of a variable. Three useful functions for this are isset(), empty() and is_null(). All these function return a boolean value. If these functions are not used in correct way they can cause unexpected results.
isset() and empty() are often viewed as functions that are opposite, however this is not always true. In this post I will explain the differences between these functions.

Jun 26, 2013

Tạo user trong CentOS

#useradd -m -d /var/www/html/user1 user1
#passwd user1
#chown -R user1:apache /var/www/html/user1
# chmod 755 -R /var/www/html/user1

Jun 14, 2013

Cập nhật time trong CentOS

#yum install ntp
#ntpdate time.windows.com

Kiểu DateTime trong PHP

Một số thủ thuật để xử lý DateTime trong PHP: lấy ngày tháng hiện tại, so sánh ngày, tính thời gian chênh lệch giữa 2 ngày.

May 29, 2013

Expanding CakePHP multistep forms with dynamic fields and serialized data

As a sequel to the post about multistep forms with CakePHP, I’d like to add a little bit of complexity to that sample. This time we’ll add some dynamically generated fields and, in general, serialized data.

Write less code: merge Save and Edit in CakePHP

In most cases writing less code gives the developer a series of advantages: it’s easier to maintain and extend, easier to read and easier to debug! In this post I’m going to suggest a little CakePHP tip that in the long run will save you a lot of coding.
Some develepers already implement this method, but I think it deserves much wider usage: I’m talking about merging model save and edit in a single controller method.

Multistep forms in CakePHP 2.2.2

One of the features I really love about PHP frameworks is form management. Coding forms in plain PHP can easily become a pain if not well planned out. Multistep forms take this complexity even further, especially when you care about user experience.
In this tutorial you’ll be amazed by how much little code can manage a whole full featured multistep form when taking advantage of CakePHP powerful classes. We’ll build the form in only 60 lines of controller code.

May 25, 2013

CsvExport Behavior for CakePHP 2

This behavior is the exact opposite of the CsvImport behavior included in the Utils plugin from CakeDC. This Behavior will end on github but for now, here is the source code and instructions on how to use the Behavior.

Enable CSV Import for all controllers/models in a CakePHP 2.x project

CakePHP LogoI often use phpMyAdmin to import csv data into projects I am building, this can be tedious as phpMyAdmin requires the number of fields and field order to match exactly for the csv import to work.
This frustration prompted me to explore the Utils plugin by CakeDC which contains a CsvImport behavior. I wanted this functionality for all of my controllers/models during the development process. Import functionality will eventually end up under the admin interface of my project. If you use admin routing and would like the import functionality only available through an admin url simply change the method name below to admin_import().

May 14, 2013

May 13, 2013

Theme Ace CakePHP 2.x

Trong quá trình thiết kế website có lẽ các pro cũng gặp không ít khó khăn trong vấn đề giao diện. Tôi cũng vậy, vấn đề đã được giải quyết 1 cách tuyệt vời với theme Ace như demo bên dưới. Tôi không cần nói nhiều các bạn có thể tự tìm hiểu về cách thiết kế theme trong cakephp để tự làm cho mình 1 theme vừa ý hoặc để ít tốn thời gian các bạn có  thể liên hệ với tôi, 1 chút phí điện cho có tinh thần đó mà.
Giới thiệu:



Link Demo


OpenCA - CÀI ĐẶT SUBCA


Cài đặt các thư viện cần thiết:

yum install -y gcc-c++
yum install -y openssl-devel db4 db4-devel mysql-server mysql-devel perl-XML-Parser httpd

Apr 16, 2013

TwitterBootstrap Plugin for CakePHP2.x

(https://github.com/slywalker/TwitterBootstrap)

The TwitterBootstrap Plugin provides an easy-to-use feature Bootstrap in CakePHP2.x
Bootstrap, from Twitter
This v1.5.5 supports Bootstrap v2.2.2

Apr 8, 2013

How To Convert Virtual Machines Between VirtualBox and VMware



image
Migrating to another virtual machine program can be intimidating. if you already have your virtual machines set up they way you like them, you don’t necessarily have to install them from scratch – you can migrate your existing virtual machines.
VirtualBox and VMware use different virtual machine formats, but each supports the standard Open Virtualization Format. Convert your existing virtual machine to OVF or OVA and you’ll be able to import it into another virtual machine program.
Unfortunately, this may not always work perfectly, as VirtualBox and VMware both seem to use slightly different OVA/OVF implementations that aren’t entirely compatible. If this doesn’t work, you may want to reinstall your virtual machine’s guest operating system from scratch.

Mar 29, 2013

Adding FTP Users For VSFTP

  1. You will need to log into your Linux server using SSH / Shell. If you are on a Windows workstation you will need to download Putty or if you are using a MacOSX based workstation you can use the built in Telnet application. If you have not used an SSH interface before you can review our support article on how to access your server using SSH by going to http://www.hosting.com/support/vps/linux/ssh.

Cài đặt FTP client CentOS

FTP (File transfer protocol) là một trong những dịch vụ quan trọng trên internet, giúp cho việc truyền tập tin đến máy chủ dễ dàng hơn. Trong bài viết này chúng tôi sẽ hướng dẫn bạn cài đặt dịch vụ FTP trên CentOS.

Mar 22, 2013

OpenSSL Command-Line HOWTO

Paul Heinlein 
Initial publication: June 13, 2004
Most recent revision: January 3, 2013
The openssl application that ships with the OpenSSL libraries can perform a wide range of crypto operations. This HOWTO provides some cookbook-style recipes for using it.

PHP OCSP script

I have here an OCSP script in PHP. It is not needed if you use the 
apache modified distribution from FedICT:ocsp is included in apache. But
 if you use a standard distribution that is automatically updated 
against new security treats (like me!), you need this. (Probably OCSP 
will be included in apache 2.4?): 

Check and open ports in CentOS / Fedora / Redhat



If you want to open or close a port for a Linux firewall you have to edit the rules in the iptables configuration. By default iptables firewall stores its configuration at /etc/sysconfig/iptables file. You need to edit this file and add rules to open port.
Here are the steps to open the port XY using the default visual editor vi:
Open port XY
Open flle /etc/sysconfig/iptables:
# vi /etc/sysconfig/iptables
Append rule as follows:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport XY -j ACCEPT

Save and close the file. Restart iptables:
# /etc/init.d/iptables restart
Verify that port is open
Run following command:
# netstat -tulpn | less
Make sure iptables is allowing port connections:
# iptables -L -n

For more information visit:

Managing X.509 certificates using PHP



To generate, sign and verify certificates you need to have OpenSSL module installed and provide file with OpenSSL configuration.

Một sô lệnh hay OpenSSL

OpenSSL is a very powerful cryptography utility, perhaps a little too powerful for the average user. With all the different command line options, it can be a daunting task figuring out how to do exactly what you want to do. Here are several common tasks you may find useful. Note that some commands may require version 0.9.8a and above.

Feb 4, 2013

Cài đặt OpenCA theo kiến trúc phân tầng

Trong bài hướng dẫn Cài đặt openca kiến trúc SingleCA trên Centos 5.x  tôi đã hướng dẫn các bạn cài đặt  openCA với kiến trúc "All in one". Thực tế triển khai thì người ta sẽ không dùng đến kiến trúc này vì những lý do mà trong bài viết Chương 3. Kiến trúc PKI tôi đã nói đến. Hôm nay tôi sẽ cài đặt hệ thống thực theo kiến trúc phân cấp hay phân tầng.

Feb 2, 2013

Chữ ký số

1. Định nghĩa


Chữ ký số là một tập con của chữ ký điện tử. Có thể dùng định nghĩa về chữ ký điện tử cho chữ ký số như sau: Chữ ký điện tử là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video, ) nhằm mục đích xác định người chủ của dữ liệu đó và đảm bảo tính toàn vẹn của dữ liệu.

Jan 29, 2013

Giới thiệu về SSL


I. Giới thiệu về SSL

1.1 SSL là gì?

SSL(Secure Socket Layer) là một giao thức(protocol) cho phép bạn truyền đạt thông tin một cách an toàn qua mạng.

Jan 25, 2013

Chapter 5. OpenCA

"Dự án OpenCA là nỗ lực hợp tác để phát triển một hệ thống Certification Authority, mạnh mẽ, đầy đủ tính năng out-of-the-box  thực hiện các giao thức được sử dụng nhiều nhất với toàn bộ sức mạnh mật mã trên toàn thế giới. OpenCA được dựa trên nhiều dự án nguồn mở. Một số các phần mềm được sử dụng OpenLDAP, OpenSSL, dự án Apache, Apache mod_ssl "(nguồn: http://www.openca.org/openca/).

Jan 24, 2013

Phần 2. OpenCA - Chapter 4. Tổng quan về hệ thống PKI nguồn mở

"Một PKI (Public Key Infrastructure) tập hợp các công cụ có thể tạo ra, kiểm soát và sử dụng giấy chứng nhận .Sự thông minh của một cơ sở hạ tầng không phải trong các phần mềmtrong tư vấn tại thời điểm của sự tích hợp vào các quy trình của công ty. Mô hình này phù hợp hoàn hảo với thế giới phần mềm mã nguồn mở, trong đó chỉ cần trả cho chuyên gia của vấn đề mà không cho phần mềm "(dịch từ tiếng Pháp bằng các nguồn: http://www.01net.com/article/193029.html)

Tiếp theo Chương 3. Kiến trúc PKI - Mục 5. Phân chia vật lý

  5. Phân chia vật lý

5.1. Vấn đề

một số trường hợp PKI phải trải dài thông qua một số địa điểm.Ví dụ, một công ty có thể một số nhánh (site) phân tán trên toàn thế giới.Những sitenày được kết nối với trụ sở chính của công ty bằng cách sử dụng các liên kết liên tục (một đường dialup).

Tiếp chương 3. Kiến trúc PKI

 4. Trao đổi dữ liệu (data exchange)

Từ "data exchange" có nghĩa là trao đổi dữ liệu một cách bí mật, chúng ta có thể thực hiện điều này một cách vật lý là dùng CD hoặc USB... hoặc một kênh được bảo mật như  SSH

Jan 23, 2013

Sử dụng TCPDF trong CakePHP 2.x



Trong bài hướng dẫn này, chúng ta sẽ tạo một PDF helper sử dụng thư viện TCPDF. Chúng ta tập trung vào tạo một helper class như thế nào trong CakePHP. Nếu bạn muốn tìm hiểu thêm về TCPDF để sử dụng tốt chúng. Vui lòng truy cập địa chỉ http://www.tcpdf.org 

Cài đặt và cấu hình Zimbra trên CentOS 6


zimbra_logo
I - Giới thiệu:
Zimbra Collaboration Suite (ZCS) là nhóm phần mềm được viết bởi công  ty Zimbra. Công ty này được Yahoo mua lại từ cuối năm 2007 và sau đó lại được VMware mua lại vào đầu năm 2010. Zimbra cung cấp 2 phiên bản miễn phí (ZCS Open Source) và có phí (Zimbra Network).

Jan 21, 2013

Chương 3. Kiến trúc PKI

PKI viết tắt của "Public Key Infrastructure", tức là có 1 tổ chức và một kênh thông tin bị cai trị (ruled).

Jan 20, 2013

Chương 2. Hệ thống PKI Chuẩn X.509

PKI X.509 được sử dụng rộng rãi trên toàn thế giới.Cho một cái nhìn chi tiết hơn về chuẩn X.509

Phần 1. Tổng quan - Chương 1. Giới thiệu về PKI


PKI viết tắt từ: Public Key Infrastructures có thể dịch là "các cơ sở hạ tầng khóa công khai" được hiểu như là một phương tiện để tăng tính bảo mật trong mạng máy tính. Tuy nhiên, PKI không giải quyết được toàn bộ các vấn đề về an ninh, vấn đề có thể được giải quyết bằng một PKI và một số không thể.

Jan 19, 2013

Cài đặt openca kiến trúc SingleCA trên Centos 5.x

Để giúp các bạn tiếp cận Openca một cách dễ dàng, tôi mạo muội viết bài viết này, bài viết có tham khảo một số nguồn trên internet và có sàn lọc lại. Có chổ nào sai xót hay thắc mắc các bạn có thể comment bên dưới.
Tôi sẽ cài đặt OpenCA với kiến trúc SingleCA (All in one) nghĩa là tất cả RootCA, SubCA và RA trên 1 máy.
Riêng kiến trúc phân tầng riêng rẻ nghĩa là RootCA 1 máy, SubCA 1 máy, RA 1 máy sẽ sớm có để phục vụ các bạn.

Các kiến thức cơ bản: RootCA, SubCA, RA .... các bạn  chưa hiểu có thể đọc các bài viết của tôi trong chuyên mục OpenCA.

Jan 18, 2013

Hướng dẫn sử dụng lệnh YUM trong Linux.

 YUM thì được sử dụng trong một số bản của dòng linux như là Redhat RHEL, CentOS & Fedora. YUM sử dụng các gói RPM (đươc lưu giữ & chia sẽ trên internet) để tải xuống và cà đặt mới phần mềm cho Server của bạn. Quản trị viên Linux phải học cách sử dụng YUM để thêm / gỡ bỏ các gói trên hệ thống Linux và duy trì cho các máy chủ Linux an toàn.

Jan 17, 2013

Khung sườn khi nghiên cứu xây dựng hệ thống PKI


Trong quá trình xây dựng 1 hệ thống chứng thực chữ ký số PKI, chắc chắn các bạn sẽ thắc mắc không biết bắt đầu từ đâu, nghiên cứu cái gì. Để giúp các bạn tiết kiệm thời gian tôi xin góp chút kinh nghiệm tìm hiểu của mình với khung sườn này các bạn có thể mở rộng ra thêm tùy thuộc vào mục đích nghiên cứu các bạn. Chắc rằng mỗi người có 1 phương pháp khác nhau khi tiếp cận một vấn đề, nếu có gì sai sót xin các bạn comment bên dưới để tôi hoàn thiện bài viết hơn.

Jan 11, 2013

Vợ ơi, Cảm ơn em!

Bé Ty được 18 tuần 4 ngày, lúc này bé mặc sức nhào lộn trong bụng mẹ vì còn nhỏ xíu hà:


Ngày 18/7/2012... Một tháng sau, bé được 22 tuần lẻ 03 ngày tuổi nhé! Mẹ lên Internet tìm hiểu thì biết đã đến lúc đi siêu âm màu xem bé có chỗ nào 'xấu xí" không... Tò mò quá thể. Đi làm về ba chở mẹ thẳng đến bác sỹ. Kết quả là bé thật khỏe mạnh, hoàn hảo, nhưng tiếc là lúc này mẹ nhìn bé chả rõ ràng gì, hình chụp thì chỉ đơn giản thế này (hihi, chưa biết giống ba nhiều hơn hay giống mẹ nhiều hơn hén):

Jan 7, 2013

Cài đặt Image magick php trên Centos 5.7


Tôi đang thực hiện trên Centos cài apache 2, php 5.3, còn nếu là php ở phiên bản nhỏ hơn vui lòng nâng cấp lên phiên bản 5.3 theo hướng dẫn tại đây

Cài đặt hoặc update lên PHP 5.3.17 cho CentOS 5.x



1. Bật Terminal lên và chạy lệnh sau:


rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm

2. Chạy lệnh sau để cài đặt PHP:


yum --enablerepo=webtatic install php

Hoặc dùng lệnh dưới đây để update php nếu php đã được cài đặt rồi:


yum --enablerepo=webtatic update php