UVOD do mojeho programu
Chcel bych pomoct mémi skušenosti na WSS.
A pomoct těm co nemají větši skušenosti s tvorbou webu a jejich ovladání (např redakční systém..)
Dobře začnem dobrou ochranou PHP //script je jen pro ošetreni vstupnich hodnot//
Mám tu pár funkcí např. (některe z superglobalni proměnné scripty) xD už sem chcel napsat Předdefinované proměnné
$ _POST
$_COOKIE
$_REQUEST
$_GET
Tak tedy u webu mám vlastní složku jmenuje se includes do te složky si vytvoříme soubor secure.php a do indexu napíšem
<?php
session_start();
header("Cache-control: private");
ob_start();
include("includes/modules.php");
login();
check_login();
?>
Já protože mám hotovej complete web tak to mám asi takhle
<?php
session_start();
header("Cache-control: private");
ob_start();
include("includes/config.php");
include("includes/modules.php");
include("includes/secure.php");
include("includes/ctracker.php");
require("includes/drake.class.php");
login();
check_login();
?>
Do souboru v secure.php //v includes// vložime tyhle scripty
<?PHP
function xw_sanitycheck($str){
if(strpos(str_replace("''",""," $str"),"'")!=false)
return str_replace("'", "''", $str);
else
return $str;
}
function secure($str){
if (is_array($str)) {
foreach($str AS $id => $value) {
$str[$id] = secure($value);
}
}
else
$str = xw_sanitycheck($str);
return $str;
}
$xweb_AI = array_keys($_GET);
$i=0;
while($i<count($xweb_AI)) {
$_GET[$xweb_AI[$i]]=secure($_GET[$xweb_AI[$i]]);
$i++;
}
$xweb_AI = array_keys($_REQUEST);
$i=0;
while($i<count($xweb_AI)) {
$_REQUEST[$xweb_AI[$i]]=secure($_REQUEST[$xweb_AI[$i]]);
$i++;
}
$xweb_AI = array_keys($_POST);
$i=0;
while($i<count($xweb_AI)) {
$_POST[$xweb_AI[$i]]=secure($_POST[$xweb_AI[$i]]);
$i++;
}
$xweb_AI = array_keys($_COOKIE);
$i=0;
while($i<count($xweb_AI)) {
$_COOKIE[$xweb_AI[$i]]=secure($_COOKIE[$xweb_AI[$i]]);
$i++;
}
function check_inject() {
$badchars = array(";", "'", "\"", "*", "DROP", "SHUTDOWN", "SELECT", "UPDATE", "DELETE", "-");
foreach($_POST as $value) {
if(in_array($value, $badchars)) { die("SQL Injection Detected\n<br />\nIP: ".$_SERVER['REMOTE_ADDR']); }
else {
$check = preg_split("//", $value, -1, PREG_SPLIT_OFFSET_CAPTURE);
foreach($check as $char) {
if(in_array($char, $badchars)) { die("SQL Injection Detected\n<br />\nIP: ".$_SERVER['REMOTE_ADDR']); }
}
}
}
}
function clean_var($var=NULL) {
$newvar = @preg_replace('/[^a-zA-Z0-9\_\-\.]/', '', $var);
if (@preg_match('/[^a-zA-Z0-9\_\-\.]/', $var)) { }
return $newvar;
}
?>
Muj kámoš mi řekl že stači napsat // je to skušenější PHP master, ale já důvěřuji svému scriptu//
<?PHP
function sanitarize($value)
{
if (is_array($value))
return array_map("sanitarize", $value);
return addslashes(htmlspecialchars($value));
}
$_POST = sanitarize($_POST);
$_GET = sanitarize($_GET);
$_REQUEST = sanitarize($_REQUEST);
$_COOKIE = sanitarize($_COOKIE);
?>
Dobře a teť máme hotovo... prosím nehleďte na muj pravopis