Thứ Năm, 29 tháng 3, 2012

C�c API trong VINAPHP

Sau d�y l� th�ng tin v? core VINAphp:

A. Th�ng tin v? Library
B.Th�ng tin v? Cache
C.Th�ng tin v? c�c function
D. C?u tr�c d? li?u v� gi?i thu?t.


A. Th�ng tin v? library:


Trong thu vi?n ch�nh c?a Vinaphp ch?a c�c class v� c�c function c?n thi?t nh?t cho s? ho?t d?ng c?a c? CMS.
M?i m?t class b?t d?u t�n file c?a m�nh b?ng CLASS-NAME.php
M?i m?t Function b?t d?u b?ng FUNC-NAME.php
 + CLASS-CACHE: Ch?u tr�ch nhi?m h�nh th�nh cache , x�a cache cung nhu qu?n l� update cache.
+ CLASS - DB :
��y l� class c?c quan tr?ng trong vinaphp, ch�ng ch?u tr�ch nhi?m truy v?n th�ng tin co s? d? li?u v� b?n th�n ch�ng c�n c� ch?c nang t?i uu v� backup gi? li?u , t?t c? c�c truy v?n d?u qua d�y
+ CLASS - SECURE:   Ch?u tr�ch nhi?m ch?ng hack t?ng 1: t?ng ti?p x�c v?i ngu?i d�ng th�ng qua GET v� POST (  d�y g?i l� bi?n to�n c?c )
+ CLASS-HTTP:   CH?u tr�ch nhi?m nhu m?t tr�nh duy?t.
+ CLASS-USER: Qu?n l� c�c th? t?c li�n quan d?n User tr�n h? th?ng nhu dang k�, �ang nH?p , tho�t , ch?nh s?a profile, n?p ti?n ...
+ FUNC-FORMAT:
Tr�ch nhi?m c?a file function n�y c?c k? to l?n: ch�ng d�ng vai tr� ki?m tra ki?u d? li?u, l?c d? li?u tru?c khi ghi v�o CSDL ho?c hi?n th? cho ngu?i d�ng.
+ FUNC-FUNCTION:  c�c ch?c nang �t d�ng trong h? th?ng.


+ FUNC-HOOK: Kh?i t?o c�c "C?ng k?t n?i" d?u ti�n trong CMS , gi�p c�c function kh�c d? d�ng can thi?p s�u v�o h? th?ng th�ng qua c�c c?ng k?t n?i n�y.


+ FUNC-THEME:  KH?i t?o v� k?t n?i c�c giao di?n khi ngu?i d�ng y�u c?u tr�n du?ng d?n, n?u kh�ng t?n t?i giao di?n - func s? tr? l?i m?t l?i giao di?n.


+ SCHEMA :
Kh?i t?o c�c b?ng d?u ti�n cho CMS l�m vi?c, luu �: ch�ng ch? kh?i t?o ch? kh�ng di?n th�m d? li?u.







B.Th�ng tin v? cache
Cache l� b? nh? d?m gi�p tang t?c trang web, m?i trang , m?i CMS c� c�ch cache kh�c nhau:
Cache c?a Vinaphp kh� linh d?ng, ch�ng t? t?o ra cache cho m?i du?ng d?n, VD: http://muasamvui.com ch?ng h?n, ch�ng s? ki?m tra trong cache c� chua ? n?u c� th� ki?m tra ti?p xem c�i d� h?t h?n luu chua ?

N?u m?i th? h?p l? cho du?ng d?n d� th� n� tr? v? k?t qu? c?a cache v� d?ng l?i 80% c�c l?nh - kh?i l?nh - v� truy v?n SQL, Nh?ng ph?n v?n ch?y d? ki?m tra b?o m?t v� v�i c�ng do?n kh�c l� LIBRARY.




C. Th�ng tin v? C�c function:

Danh s�ch c�c function hay d�ng trong CMS:


+ get_var('$method' , '$name') return \escape $name\
trong d� $method nh?n 2 gi� tr?: GET v� POST, $name du?c escape v� tr? v? 2 lo?i gi� tr?:
        => N?u l� GET th� tr? v? k?t qu? qua function esc_all, m?i chu?i v� s? d?u c?c an to�n. Nhung v� ch�ng b? l?c h?t d?u v� c?t chu?i n�n d�ng c?n th?n,
VD: $_GET['Method']  tr? v? : ch�ng m�nh th�ch an kem.
get_var('get' , 'method') tr? v? : chung-minh-thich-an-kem


VD2: $_POST['name'] tr? v?: <script>alert('Hack ki?u cu')</script>
 get_var('post' , 'name') tr? v? : ''

Luu �: Tuy?t d?i kh�ng s? d?ng bi?n to�n c?c $_GET v� $_POST tr? khi b?n bi?t ch?c b?n dang l�m c�i g� ...


string_long($num, $string) return true if count(string) < (num) other return false


Functon d?m chu?i d? ki?m tra d? d�i c?a m?t chu?i, thu?ng d? ki?m tra c�c tru?ng ngu?i d�ng nh?p




valid_uri($text) return esc_all(#text);


L?c h?t m?i th? trong tru?ng h?p c?n l�m s?ch du?ng d?n c?a trang ... �t d�ng !


display_text_for_title($text) return text;


Hi?n th? m?t chu?i an to�n cho t?a d? t? trong CSDL


display_text($text_from_sql) return clearn text;


Hi?n th? c�c n?i dung b?t k? sau khi d� l?c h?t c�c k� t? kh�ng h?p l?


checktext_before_insert ($text) return safe text


Tr? v? chu?i an to�n sau khi l?c h?t c�c k� t? d? ghi v�o CSDL

C�c function ESCAPE d? tr�nh l?i cho CSDL v� CMS:

+  ESC_ALL(TEXT) (escape all but a-z and \-\_ and 0-9)
+ ESC_SQL   auto add mysql_real_escape_string , accept (string) and (array)
+ ESC_HTML using html entities is the same , but it's check-valid-utf8
+ ESC_TEXTAREA   show the right valid html special char for text area to show
+ TAG_ESCAPE  using the same as ESC_ALL.
+ DB::ESCAPE  using the same as ESC_SQL
+ CHECK_INVALID_UTF8 check and return valid utf8.
+ SANITIZE_USER  check and return user_name in the right ... and safe.
+ "force_balance_tags"  is the special function for valid XML


+ V� m?t s? function kh�c n?m trong root\lib\func-format.php