[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Правильно ли написан код?
Страницы: 1, 2, 3, 4, 5, 6, 7
Astin
Приветствую Форумчане!

Решил попрактиковаться немножко и сделал динамический сайт.
Все вроде бы работает, но.....

Мне очень важно ваше мнение о правильности написания кода и его защита.
Правильно ли он написан и есть ли уязвимости, и что не так пожалуйста подскажите.

Вот еще интересует:
1) Как же сделать из такой ссылки /index.php?page=about
нормальную что то вроде /index.php/about или похожее?
2) плюс проблема с кнопками, пытался сделать так чтоб при посещении страницы нужная
кнопка имела свой стиль, но получилось что все кнопки имеют один стиль при переходе на одну страницу. Скрин приложу ниже.

Вот сам код страницы
<?php
// Здесь я подключаю переключатель шаблонов
include_once './vibor.php';
?>
<!DOCTYPE HTML>
<html itemscope itemtype="http://schema.org/WebPage" lang="ru-RU">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta
http-equiv="X-UA-Compatible" content="IE=edge" />
<title><?php
echo $title; ?></title>
<link
rel="icon" href="http://адрес-сайта.ru/favicon.ico" type="image/x-icon" />
<link
rel="shortcut icon" href="http://адрес-сайта.ru/favicon.ico" type="image/x-png" />
<meta
itemprop="description" name="description" content="<?php echo $description; ?>" />
<meta
itemprop="keywords" name="keywords" content="<?php echo $keywords; ?>" />
<meta
name="robots" content="noindex,nofollow,noodp,noydir" />
<link
rel="stylesheet" type="text/css" href="<?php echo $css; ?>" />
<link
rel="stylesheet" type="text/css" href="./css/animate.css" />
</head>
<body>
<header
id="header">
<div
class="header-inner">
<div
class="header-top">
<a
href="#"><div itemscope itemtype="http://schema.org/ImageObject">
<img
class="logo" src="./images/logo.png" alt="Ломбард" itemprop="contentUrl" /></div></a>
<div
itemscope itemtype="http://schema.org/WPHeader" class="names">
<h1
itemprop="name">All-Loans.kz</h1>
</div>
<div
itemscope itemtype="http://www.schema.org/SiteNavigationElement" class="call">
<p
itemprop="name">Свяжитесь с нами</p><p>8-xxx-xxx-xx-xx</p>
<p><a
target="_blank" href="index.php?page=call"><img class="call-img" src="./images/call.png" alt="Обратный звонок" title="Заказать обратный звонок" /></a>
</p>
</div>
</div>
<div
id="menu">
<nav
itemscope itemtype="http://www.schema.org/SiteNavigationElement" class="topMenu">
<ul>


<!-- А вот здесь проблема со стилями кнопок class="<?php echo $clas; ?> -->

<li itemprop="name"><a href="./">Главная</a></li>
<li
itemprop="name"><a class="<?php echo $clas; ?>" href="index.php?page=zayvka">Заявка на кредит</a></li>
<li
itemprop="name"><a class="<?php echo $clas; ?>" href="index.php?page=about">О нас</a></li>
<li
itemprop="name"><a class="<?php echo $clas; ?>" href="index.php?page=faq">FAQ</a></li>
<li
itemprop="name"><a class="<?php echo $clas; ?>" href="index.php?page=">Контакты</a></li>
</ul></nav></div>
</div>
<!-- конец header-inner -->
<div class="line"></div>
</header>
<div
id="wrapper"><!-- начало врапер -->
<?php
// Здесь идет вывод шаблонов
include 'skins/'.$file;
?>
</div>
<!-- Конец врапер -->
<footer id="footer"><!-- начало footer -->
<div class="footerInner">
<?php

// Здесь я отдельно вывожу шаблон футера
include_once './skins/foter.tpl';
?>
</div>
<!-- конец footerInner -->
</footer><!-- конец footer -->
<script type="text/javascript" src="js/wow.min.js"></script>
<script>
new
WOW().init();
</script>
</body>
</html>


А вот и сам файл vibor.php в котором переключатели шаблонов, вот он меня
больше всего интересует, правильный он или нет?
Есть ли уязвимость в нем?
<?php
// Ну вот эту функцию я стырил у Twina
// Которая убивает магические кавычки

function stripslashesDeep($data)
{
if(is_array($data))
$data = array_map("stripslashesDeep", $data);
else
$data = stripslashes($data);
return $data;
}

if(get_magic_quotes_gpc())
{
$_GET = stripslashesDeep($_GET);
$_POST = stripslashesDeep($_POST);
}

$page = isset($_GET['page']) ? $_GET['page'] : false;

// Здесь, если page не передана то выбираем шаблон главной страницы
if(!isset($_GET['page'])){
$page = 'indx';
}

// Переключатель шаблонов
switch($page) {
case 'indx' :
$file = 'indx.php';
$title = 'Главная';
$description = 'Интернет займы для всех.';
$keywords = 'кредиты, онлайн';
$css = 'style.css';
break;
case 'about' :
$file = 'about.tpl';
$title = 'О компании онлайн-займов';
$description = 'О компании онлайн-займов';
$keywords = 'интернет, займы';
$css = 'stylet.css';
$clas = 'abouts';
break;
case 'faq' :
$file = 'faq.tpl';
$title = 'Вопрос - ответ';
$description = 'У Вас есть вопросы? У нас есть ответы.';
$keywords = 'Вопрос - ответ';
$css = 'stylet.css';
$clas = 'faqs';
break;
case 'zayvka' :
$file = 'zayvka.tpl';
$title = 'Онлайн заявка на кредит';
$description = 'Подать онлайн заявку на кредит без Отказа';
$keywords = 'заявка на кредит,подать заявку на кредит';
$css = './css/newzv.css';
$clas = 'zayvk';
break;
case 'call' :
$file = 'call.tpl';
$title = 'Обратный звонок';
$description = 'Заказ обратного звонока';
$keywords = '';
$css = './css/cals.css';
break;
default :
include_once './skins/indx.php';
}


Ооочень буду рад выслушать все ваши рекомендации. Очень хочется узнать что не так и что нужно поправить

А вот скрин кнопок, которые не получается сделать нормально
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.