-
01 ЯНВ 20130
-
28 ДЕК 20120
Freetile.js
Freetile is a plugin for jQuery that enables the organization of webpage content in an efficient, dynamic and responsive layout. It can be applied to a container element and it will attempt to arrange it's children in a layout that makes optimal use of screen space, by "packing" them in a tight arrangement. Freetile has been the layout engine behind Assemblage and Assemblage Plus for almost two years, and now it becomes available as an independent Open Source project.
http://yconst.com/web/freetile/ -
26 ДЕК 20120
-
25 ДЕК 20120
-
24 ДЕК 20120
Функция определения смартфона PHP
function check_smartphone() {
if ( $_SESSION['mobile_enable'] ) return true;
$phone_array = array('iphone', 'android', 'pocket', 'palm', 'windows ce', 'windowsce', 'cellphone', 'opera mobi', 'operamobi', 'ipod', 'small', 'sharp', 'sonyericsson', 'symbian', 'symbos', 'opera mini', 'nokia', 'htc_', 'samsung', 'motorola', 'smartphone', 'blackberry', 'playstation portable', 'tablet browser', 'android');
$agent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
foreach ($phone_array as $value) {
if ( strpos($agent, $value) !== false ) return true;
}
return false;
} -
23 ДЕК 20120
Сортируем массив по деревьям
function crazysort(&$comments, $parentComment = 0, $level = 0, $count = null){
if (is_array($comments) && count($comments)){
$return = array();
if (is_null($count)){
$c = count($comments);
}else{
$c = $count;
}
for($i=0;$i<$c;$i++){
if (!isset($comments[$i])) continue;
$comment = $comments[$i];
$parentId = $comment['parent_id'];
if ($parentId == $parentComment){
$comment['level'] = $level;
$commentId = $comment['id'];
$return[] = $comment;
unset($comments[$i]);
while ($nextReturn = crazysort($comments, $commentId, $level+1, $c)){
$return = array_merge($return, $nextReturn);
}
}
}
return $return;
}
return false;
} -
15 ДЕК 20120
Защищаемся, PHP-обертки от XSS и SQL-иньекций
// Функции применяются ко входным параметрам
// Защита от SQL-inj
function NUMERIC_GET($name)
{
$val = isset($_GET[$name]) ? (int)$_GET[$name] : 0;
$val = mysql_real_escape_string($val);
return $val;
}
function STRING_GET($name)
{
$val = isset($_GET[$name]) ? mysql_real_escape_string($_GET[$name]) : '';
return $val;
}
function NUMERIC_POST($name)
{
$val = isset($_POST[$name]) ? (int)$_POST[$name] : 0;
$val = mysql_real_escape_string($val);
return $val;
}
function STRING_POST($name)
{
$val = isset($_POST[$name]) ? mysql_real_escape_string($_POST[$name]) : '';
return $val;
}
function ARRAY_STRING_POST($name)
{
$val = '';
if(isset($_POST[$name]))
{
$request = $_POST[$name];
if(is_array($request))
{
foreach($request as $key => $value)
{
$request[$key] = mysql_real_escape_string($value);
}
$val = $request;
}
}
return $val;
}
function ARRAY_STRING_GET($name)
{
$val = '';
if(isset($_GET[$name]))
{
$request = $_GET[$name];
if(is_array($request))
{
foreach($request as $key => $value)
{
$request[$key] = mysql_real_escape_string($value);
}
$val = $request;
}
}
return $val;
}
function ARRAY_NUMERIC_POST($name)
{
$val = 0;
if(isset($_POST[$name]))
{
$request = $_POST[$name];
if(is_array($request))
{
foreach($request as $key => $value)
{
$request[$key] = (int)$value;
$request[$key] = mysql_real_escape_string($request[$key]);
}
$val = $request;
}
}
return $val;
}
function ARRAY_NUMERIC_GET($name)
{
$val = 0;
if(isset($_GET[$name]))
{
$request = $_GET[$name];
if(is_array($request))
{
foreach($request as $key => $value)
{
$request[$key] = (int)$value;
$request[$key] = mysql_real_escape_string($request[$key]);
}
$val = $request;
}
}
return $val;
}
// Функция для всех выходных параметров
// Защита от XSS
function r_echos($text)
{
return htmlspecialchars($text);
}
?> -
14 ДЕК 20120
Защищаемся от xcrf на php
$secretkey = date("m.d.y");
//убераем авторизированный токен
setcookie ("token", '', time() - 12200);
//ставим токен авторизированный
setcookie ("token", sha1($username.$secretkey), time() + 12200);
if (!isset($_COOKIE['token'])) {
//нет токена = умри!
die();
} else {
if ( sha1($_COOKIE['user'].$secretkey) !== $_COOKIE['token'] ) {
setcookie ("user", "", time() - 3600);
setcookie ("token", "", time() - 3600);
show_login("Please Login");
die();
}
}
Категории:
Оставить на заметку в:



