Веб-проект "Социальная сеть"
Моделирование предметной области. Обеспечение светотехнических условий рабочего места программиста во время разработки социальной сети. Разработка Web-страницы. Метод шифрования, положенный в основу разработки обеспечения безопасности доступа к данным.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 22.09.2014 |
Размер файла | 5,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
</ul>
</li>
<li id="two" class="mail">
<a href="#two">Почта<span>19</span></a>
<ul class="sub-menu">
<li><a href="Private messages.html"> Личные сообщения<span>2</span></a></li>
<li><a href="Yahoo.html"> Yahoo<span>14</span></a></li>
<li><a href="Gmail.html"> Gmail<span>3</span></a></li>
</ul>
</li>
<li id="three" class="cloud">
<a href="#three">Мои файлы<span>19</span></a>
<ul class="sub-menu">
<li><a href="Photo.html">Мои фотографии<span>14</span></a></li>
<li><a href="Music.html">Музыка<span>4</span></a></li>
<li><a href="Video.html">Видеозаписи<span>1</span></a></li>
</ul>
</li>
<li id="four" class="sign">
<a href="#four">Выйти</a>
<ul class="sub-menu">
<li><a href="exit.html">Выйти из</a></li>
<li><a href="delit.html">Удалить аккаунт</a></li>
<li><a href="ice.html">Заморозить аккаунт </a></li>
</ul>
</li>
</ul>
</div>
<div id="text">
<h1>Музыка</h1>
<object width="550" height="42"><param name="movie" value="http://embed.pleer.com/track?id=Btaj3B3x2fhoBw75"></param><embed src="http://embed.pleer.com/track?id=Btaj3B3x2fhoBw75" type="application/x-shockwave-flash" width="550" height="42"></embed></object> <br> <small><a href="http://pleer.com/tracks/1366671KfXt" target="_blank"> </a> <a href="http://pleer.com/" target="_blank"> </a></small>
<object width="550" height="42"><param name="movie" value="http://embed.pleer.com/track?id=B3a010B3x2fhoBpb3"></param><embed src="http://embed.pleer.com/track?id=B3a010B3x2fhoBpb3" type="application/x-shockwave-flash" width="550" height="42"></embed></object> <br> <small> <a href="http://pleer.com/tracks/5505444mNIB" target="_blank">
<object width="550" height="42"><param name="movie" value="http://embed.pleer.com/track?id=B2nq55B3x2fhoBq86"></param><embed src="http://embed.pleer.com/track?id=B2nq55B3x2fhoBq86" type="application/x-shockwave-flash" width="550" height="42"></embed></object> <br> <small> <a href="http://pleer.com/tracks/44662018SBp" target="_blank"> </a> <a href="http://pleer.com/" target="_blank"> </a></small>
<object width="550" height="42"><param name="movie" value="http://embed.pleer.com/track?id=B51pwgB3x2fhoBg12"></param><embed src="http://embed.pleer.com/track?id=B51pwgB3x2fhoBg12" type="application/x-shockwave-flash" width="550" height="42"></embed></object> <br> <small> <a href="http://pleer.com/tracks/8478304k2sx" target="_blank"> </a> <a href="http://pleer.com/" target="_blank"> </a></small>
</div>
<div style="clear:both !important"></div>
</div>
<div id="footer"> "Мой родны кут, як ты мне мілы!" © Якуб Колас </div>
</div>
</body>
</html>
</html>
<--! Структура страницы блогов-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Блоги</title>
<link href="стиль.css" rel="stylesheet" type="text/css" />
<script src="rotator/jquery-1.5.1.js" type="text/javascript"></script>
<script src="rotator/rotator.js" type="text/javascript"></script>
</head>
<body>
<div id="rotator">
<ul>
<li class="show">
<img src="img11.jpg" width="1202" height="327" alt=""/>
</li>
<li> <img src="img22.jpg" width="1202" height="327" alt=""/> </li>
<li> <img src="img33.jpg" width="1202" height="327" alt=""/> </li>
</ul>
</div>
<div class="logo">
<a href="My page.html"><img src="лого.png" width="305" height="267" alt=""/></a></div>
<div id="content">
<div id="header"></div>
<div id="line"></div>
<div id="text_content">
<div id="wrapper-200a">
<ul class="accordion">
<li id="one" class="files">
<a href="#one">Белорусы<span>8</span></a>
<ul class="sub-menu">
<li><a href="Contacts.html">Контакты<span>1</span></a></li>
<li><a href="Blogs.html">Блоги<span>4</span></a></li>
<li><a href="Ads.html">Объявления<span>3</span></a></li>
</ul>
</li>
<li id="two" class="mail">
<a href="#two">Почта<span>19</span></a>
<ul class="sub-menu">
<li><a href="Private messages.html"> Личные сообщения<span>2</span></a></li>
<li><a href="Yahoo.html"> Yahoo<span>14</span></a></li>
<li><a href="Gmail.html"> Gmail<span>3</span></a></li>
</ul>
</li>
<li id="three" class="cloud">
<a href="#three">Мои файлы<span>19</span></a>
<ul class="sub-menu">
<li><a href="Photo.html">Мои фотографии<span>14</span></a></li>
<li><a href="Music.html">Музыка<span>4</span></a></li>
<li><a href="Video.html">Видеозаписи<span>1</span></a></li>
</ul>
</li>
<li id="four" class="sign">
<a href="#four">Выйти</a>
<ul class="sub-menu">
<li><a href="exit.html">Выйти из</a></li>
<li><a href="delit.html">Удалить аккаунт</a></li>
<li><a href="ice.html">Заморозить аккаунт </a></li>
</ul>
</li>
</ul>
</div>
<div id="text">
<h1>Блоги</h1>
<br/>
<div id="ads1">
<p> Нельзя прожить жизнь, избегая трудностей.</p>
</div>
<br/>
<div id="ads1">
<p> Мудрый человек не мыслит в рамках только своего благополучия, но понимает, что настоящее счастье всегда обусловлено счастьем ближнего.</p>
</div>
<br/>
<div id="ads1">
<p> Счастье вернется, Робин, пусть другое, в других одеждах, под другим именем, но это все равно будет счастье.</p>
</div>
<br/>
<div id="ads1">
<p>
Всякий раз, когда стоишь перед выбором, будь внимателен: не выбирай то, что удобно, комфортно, респектабельно, признано обществом, почётно. Выбирай то, что находит отклик в твоём сердце. Выбирай то, что ты хотел бы сделать, невзирая ни на какие последствия.</p>
</div>
<br/>
<form id="form" class="blocks" action="#" method="post">
<p class="area">
<label>Сообщение:</label>
<textarea class="textarea" name="message"></textarea>
</p>
<p>
<label> </label>
<input type="submit" class="btn" value="Отправить" />
</p>
</form>
</div>
<div style="clear:both !important"></div>
</div>
<div id="footer"> "Мой родны кут, як ты мне мілы!" © Якуб Колас </div>
</div>
</body>
</html>
<!-- panel with buttons -->
<div class="main">
<div class="panel">
<a href="#login_form" id="login_pop">Войти</a>
<a href="#join_form" id="join_pop">Зарегистрироваться</a>
</div>
</div>
<!-- popup form #1 -->
<a href="#x" class="overlay" id="login_form"></a>
<div class="popup">
<h2>Добро пожаловать гость!</h2>
<p>Введите ваш логин и пароль здесь</p>
<div>
<label for="login">Логин</label>
<input type="text" id="login" value="" />
</div>
<div>
<label for="password">Пароль</label>
<input type="password" id="password" value="" />
</div>
<input type="button" value="Войти" />
<a class="close" href="#close"></a>
</div>
<!-- popup form #2 -->
<a href="#x" class="overlay" id="join_form"></a>
<div class="popup">
<h2>Зарегистрироваться</h2>
<p>Введите здесь детальную информацию о себе</p>
<div>
<label for="email">Логин (Email)</label>
<input type="text" id="email" value="" />
</div>
<div>
<label for="pass">Пароль</label>
<input type="password" id="pass" value="" />
</div>
<div>
<label for="firstname">Имя</label>
<input type="text" id="firstname" value="" />
</div>
<div>
<label for="lastname">Фамилия</label>
<input type="text" id="lastname" value="" />
</div>
<input type="button" value="Зарегистрироваться" /> или <a href="#login_form" id="login_pop">Войти</a>
<a class="close" href="#close"></a>
</div>
<!-- pcvector.net -->
<script type="text/javascript" src="/templates/pcv/js/pcvector.js"></script>
<!-- /pcvector.net -->
</div>
<--! Стиль страницы-->
@charset "windows-1251";
@font-face{
font-family: Lobster;
src:url(Lobster/Lobster.ttf);
font-family: AllodsWest;
src: url (AllodsWest/AllodsWest.ttf);
font-family: Lineage 2 Font;
src: url (Lineage 2 Font/Lineage 2 Font.ttf);
font-family: Medieval English;
src: (Medieval English/ Medieval English.ttf);
font-family: Neucha;
src: url (Neucha/Neucha.ttf);
}
body, html {
margin: 0px;
padding: 0px;
height: auto;
}
body {
font-family: Neucha;
font-size: 18px;
color: #000;
background-image: url(img_cherry/fon_body.jpg);
background-repeat: no-repeat;
background-position: center top;
background-color: #f0e9e0;
}
#content {
background-color: #bad1c0;
width: 1200px;
margin: 0px auto;
border: 1px solid #9C0;
margin-top:-664px;
}
#logo {
margin-left: 0px;
margin-top:-664px;
}
#header {
background-image: url(img_cherry/top_fon.jpg);
background-repeat: no-repeat;
height: 324px;
}
#line {
height:10px;
background-color: #170b0b;
}
#text_content {
clear: both;
}
#menu {
float: left;
width: 160px;
margin-top: 5px;
}
#menu a {
display: block;
height: auto;
margin-bottom: 5px;
background-image: url(img_cherry/fon_white.png);
padding-left: 10px;
text-decoration: none;
font-size: 13px;
color: #000;
padding-top: 5px;
padding-right: 10px;
padding-bottom: 5px;
border: solid 1px #555;
font-variant: small-caps;
}
#breadcrumbs {
font-size: 11px;
color: #FFF;
}
#breadcrumbs a {
color: #FFF;
}
#breadcrumbs a:hover {
color: #9C0;
}
#menu a:hover {
background-image: url(img_cherry/fon_content.png);
color: #B30003;
}
h1 {
margin-top: 0px;
font-size: 20px;
color: #B30003;
}
h11 {
margin-top: 0px;
font-size: 15px;
color: #B30003;
}
#footer {
background-image: url(img_cherry/fon_white.png);
height: 30px;
padding-top: 20px;
padding-right: 10px;
padding-bottom: 10px;
padding-left: 10px;
font-size: 11px;
}
#text {
margin-left: 210px;
margin-top: 5px;
height: auto;
padding: 10px;
font-variant: small-caps;
}
#ads {
float: center;
width: 730px;
background-color: #9B0;
border: 5px solid #FFF;
padding: 10px;
background-color: #CCD685;
margin-right: 60px;
font-weight: normal;
font-size: 12px;
text-align: center;
}
#ads1 {
float: inherit;
width: 800px;
border: 5px solid #FFF;
padding: 10px;
margin-right: 60px;
font-weight: normal;
font-size: 12px;
text-align: center;
}
#pm {
padding: 5px;
font-size: 12px;
text-align: left;
width: 620px;
clear: both;
margin: 0 0 18px;
}
#pm1 {
padding: 5px;
border: 5px solid #FFF;
font-size: 12px;
text-align: inherit;
width: 400px;
clear: both;
margin: 0 0 18px;
margin-top: 0px;
}
.ava {
border: 5px solid #fff;
padding: 0px;
box-shadow: #333 0px 0px 5px;
float: left;
margin: 0 20px 18px 0;
}
.ava2 {
border: 5px solid #fff;
padding: 0px;
box-shadow: #333 0px 0px 5px;
float: left;
margin: 0 20px 18px 0;
}
.sms {
float: left;
}
.block1 {
width: 350px;
float: left;
padding: 10px;
border: 5px solid #FFFFFF;
}
.block12 {
width: 470px;
float: left;
padding: 10px;
border: 5px solid #FFFFFF;
}
.block13 {
width: 620px;
float: left;
padding: 10px;
border: 5px solid #FFFFFF;
}
.cont {
text-align:right;
margin: 0 0 18px;
}
.shift {
margin-right: 30px;
}
.blocks p {
margin-bottom:15px;
position:relative;
}
.fixed {
width: 620px;
clear: both;
border: 2px solid #FFF;
padding: 5px;
}
.text,
.textarea {
padding:5px 10px;
height:27px;
border:1px solid #ddd;
color:#333;
background:url(../gfx/bginput.jpg) repeat-x bottom #fff;
position:relative;
z-index:2;
}
.text {
width:220px;
}
.textarea {
height:150px;
width:350px;
}
.blocks label {
float:left;
width:100px;
line-height:37px;
text-align:right;
margin-right:15px;
font-weight:bold;
color:#666;
}
.blocks label.error,
.blocks label.ok {
position:absolute;
z-index:1;
top:-4px;
left:110px;
padding:5px 15px 5px 280px;
/* Reseting previous label values */
width:auto;
text-align:left;
margin:0;
background-repeat:no-repeat;
background-position:257px 16px;
}
.blocks label.ok {
background-image:url(../gfx/icook.gif);
background-color:#deefca;
color:#577530;
}
.blocks label.error {
background-image:url(../gfx/icofail.gif);
background-color:#f5d6d7;
color:#c81925;
}
area label.ok,
.area label.error {
height:163px;
padding-left:410px;
background-position:387px 16px;
}
/* CSS3 */
.btn, .text, .textarea, .blocks label.error, .blocks label.ok {
-moz-border-radius:8px;
-webkit-border-radius:8px;
border-radius:8px;
}
#text dl {
display: block;
border-left-width: 1px;
border-left-style: solid;
border-left-color: #B30003;
font-size: 13px;
margin-left: 40px;
font-style: italic;
}
#text dl dt {
margin-left: 40px;
margin-bottom: 5px;
color: #B30003;
}
#text a[onclick] {
color: #9C0;
}
#wrapper-200a{
width:200px;
float:left;
margin-left:
0px
}
/* Reset */
.accordion,
.accordion ul,
.accordion li,
.accordion a,
.accordion span {
margin: 0;
padding: 0;
border: none;
outline: none;
}
.accordion li {
list-style: none;
}
/* Layout & Style */
.accordion li > a {
display: block;
position: relative;
min-width: 110px;
padding: 0 10px 0 40px;
height: 32px;
color: #fdfdfd;
font: bold 12px/32px Arial, sans-serif;
text-decoration: none;
text-shadow: 0px 1px 0px rgba(0,0,0, .35);
background: #6c6e74;
background: -moz-linear-gradient(top, #bad1c0 0%, #92a698 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#bad1c0), color-stop(100%,#92a698));
background: -webkit-linear-gradient(top, #bad1c0 0%,#92a698 100%);
background: -o-linear-gradient(top, #bad1c0 0%,#92a698 100%);
background: -ms-linear-gradient(top, #bad1c0 0%,#92a698 100%);
background: linear-gradient(top, #bad1c0 0%,#92a698 100%);
-webkit-box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
-moz-box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
}
.accordion > li:hover > a,
.accordion > li:target > a {
color: #2f5d33;
text-shadow: 1px 1px 1px rgba(255,255,255, .2);
/*background: url(../img/active.png) repeat-x;*/
background: #a5cd4e;
background: -moz-linear-gradient(top, #f0e9e0 0%, #d9d3cb 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0e9e0), color-stop(100%,#d9d3cb));
background: -webkit-linear-gradient(top, #f0e9e0 0%,#d9d3cb 100%);
background: -o-linear-gradient(top, #f0e9e0 0%,#d9d3cb 100%);
background: -ms-linear-gradient(top, #f0e9e0 0%,#d9d3cb 100%);
background: linear-gradient(top, #f0e9e0 0%,#d9d3cb 100%);
}
.accordion li > a span {
display: block;
position: absolute;
top: 7px;
right: -3px;
padding: 0 10px;
margin-right: 10px;
font: normal bold 12px/18px Arial, sans-serif;
background: #404247;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
-webkit-box-shadow: inset 1px 1px 1px rgba(0,0,0, .2), 1px 1px 1px rgba(255,255,255, .1);
-moz-box-shadow: inset 1px 1px 1px rgba(0,0,0, .2), 1px 1px 1px rgba(255,255,255, .1);
box-shadow: inset 1px 1px 1px rgba(0,0,0, .2), 1px 1px 1px rgba(255,255,255, .1);
bottom: 27px;
}
.accordion > li:hover > a span,
.accordion > li:target > a span {
color: #fdfdfd;
text-shadow: 0px 1px 0px rgba(0,0,0, .35);
background: #3e5706;
}
/* Images */
.accordion > li > a:before {
position: absolute;
top: 0;
left: 0;
content: '';
width: 24px;
height: 24px;
margin: 4px 8px;
background-repeat: no-repeat;
background-image: url('../img/icons.png');
background-position: 0px 0px;
}
.accordion li.files > a:before { background-position: 0px 0px; }
.accordion li.files:hover > a:before,
.accordion li.files:target > a:before { background-position: 0px -24px; }
.accordion li.mail > a:before { background-position: -24px 0px; }
.accordion li.mail:hover > a:before,
.accordion li.mail:target > a:before { background-position: -24px -24px; }
.accordion li.cloud > a:before { background-position: -48px 0px; }
.accordion li.cloud:hover > a:before,
.accordion li.cloud:target > a:before { background-position: -48px -24px; }
.accordion li.sign > a:before { background-position: -72px 0px; }
.accordion li.sign:hover > a:before,
.accordion li.sign:target > a:before { background-position: -72px -24px; }
/* Sub Menu */
.sub-menu li a {
color: #797979;
text-shadow: 1px 1px 0px rgba(255,255,255, .2);
background: #e5e5e5;
border-bottom: 1px solid #c9c9c9;
-webkit-box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
-moz-box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
}
.sub-menu li:hover a { background: #efefef; }
.sub-menu li:last-child a { border: none; }
.sub-menu li > a span {
color: #797979;
text-shadow: 1px 1px 0px rgba(255,255,255, .2);
background: transparent;
border: 1px solid #c9c9c9;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.sub-menu em {
position: absolute;
top: 0;
left: 0;
margin-left: 14px;
color: #a6a6a6;
font: normal 10px/32px Arial, sans-serif;
}
/* Functionality */
.accordion li > .sub-menu {
height: 0;
overflow: hidden;
-webkit-transition: height .2s ease-in-out;
-moz-transition: height .2s ease-in-out;
-o-transition: height .2s ease-in-out;
-ms-transition: height .2s ease-in-out;
transition: height .2s ease-in-out;
}
.accordion li:target > .sub-menu {
height: 98px;
}
#rotator ul {
margin: 0px;
padding: 0px;
list-style-type: none;
display: block;
position: relative;
height: 400px;
width: 1200px;
margin-top: inherit;
}
#rotator ul li {
position: absolute;
left: 350px;
top: 350px;
margin-top: -350px;
}
.gp-gallery-picture-zoom {
border: 1px solid #bbb;
margin: -6px 0 0 -6px;
position: absolute;
z-index: 100;
padding: 5px;
background: white;
box-shadow: 0 0 10px #999;
}
#gallery {
width: 700px;
margin: 0;
padding: 0;
height: 235px;
background-image: url(img/loader.gif);
background-repeat: no-repeat;
background-position: 50% 50%;
}
#gallery img {
border: none;
}
#big {
width: 700px;
margin: 5px auto;
}
#small {
width: 125px;
margin: 10px auto;
list-style-type: none;
}
#small li {
float: left;
width: 15px;
height: 18px;
background: #006634;
margin-right: 2px;
text-align: center;
}
#small li:hover {
background: #006600;
}
#small a {
text-decoration: none; color: #fff;
}
.cen {
text-align: center;
font-size: 18px;
}
.mosaicflow__column {
float:left;
}
.mosaicflow__item img {
display:block;
width:100%;
height:auto;
}
*{
margin:0;
padding:0;
}
body {
background-color:#eee;
font:14px/1.3 Arial,sans-serif;
}
.main {
background-image: url(bg.png);
width: 800px;
height: 600px;
margin: 50px auto;
}
.panel {
background-color: #bad1bf;
height: 34px;
padding: 10px;
}
.panel a#login_pop, .panel a#join_pop {
border: 2px solid #aaa;
color: #000;
display: block;
float: right;
margin-right: 10px;
padding: 5px 10px;
text-decoration: none;
text-shadow: 1px 1px #000;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
-ms-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;
}
a#login_pop:hover, a#join_pop:hover {
border-color: #eee;
}
.overlay {
background-color: rgba(0, 0, 0, 0.6);
bottom: 0;
cursor: default;
left: 0;
opacity: 0;
position: fixed;
right: 0;
top: 0;
visibility: hidden;
z-index: 1;
-webkit-transition: opacity .5s;
-moz-transition: opacity .5s;
-ms-transition: opacity .5s;
-o-transition: opacity .5s;
transition: opacity .5s;
}
.overlay:target {
visibility: visible;
opacity: 1;
}
.popup {
background-color: #fff;
border: 3px solid #fff;
display: inline-block;
left: 50%;
opacity: 0;
padding: 15px;
position: fixed;
text-align: justify;
top: 40%;
visibility: hidden;
z-index: 10;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
-ms-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;
-webkit-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
-moz-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
-ms-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
-o-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset;
-webkit-transition: opacity .5s, top .5s;
-moz-transition: opacity .5s, top .5s;
-ms-transition: opacity .5s, top .5s;
-o-transition: opacity .5s, top .5s;
transition: opacity .5s, top .5s;
}
.overlay:target+.popup {
top: 50%;
opacity: 1;
visibility: visible;
}
.close {
background-color: rgba(0, 0, 0, 0.8);
height: 30px;
line-height: 30px;
position: absolute;
right: 0;
text-align: center;
text-decoration: none;
top: -15px;
width: 30px;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
-ms-border-radius: 15px;
-o-border-radius: 15px;
border-radius: 15px;
}
.close:before {
color: rgba(255, 255, 255, 0.9);
content: "X";
font-size: 24px;
text-shadow: 0 -1px rgba(0, 0, 0, 0.9);
}
.close:hover {
background-color: rgba(64, 128, 128, 0.8);
}
.popup p, .popup div {
margin-bottom: 10px;
}
.popup label {
display: inline-block;
text-align: left;
width: 120px;
}
.popup input[type="text"], .popup input[type="password"] {
border: 1px solid;
border-color: #999 #ccc #ccc;
margin: 0;
padding: 2px;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
-ms-border-radius: 2px;
-o-border-radius: 2px;
border-radius: 2px;
}
.popup input[type="text"]:hover, .popup input[type="password"]:hover {
border-color: #555 #888 #888;
}
ПРИЛОЖЕНИЕ Б
Текст используемых скриптов
<--! Панель навигации «аккордеон»-->
<div id="wrapper-200a">
<ul class="accordion">
<li id="one" class="files">
<a href="#one">Белорусы<span>8</span></a>
<ul class="sub-menu">
<li><a href="Contacts.html"> Контакты<span>1</span></a></li>
<li><a href="Blogs.html"> Блоги<span>4</span></a></li>
<li><a href="Ads.html"> Объявления<span>3</span></a></li>
</ul>
</li>
<li id="two" class="mail">
<a href="#two">Почта<span>19</span></a>
<ul class="sub-menu">
<li><a href="Private messages.html"> Личные сообщения<span>2</span></a></li>
<li><a href="Yahoo.html"> Yahoo<span>14</span></a></li>
<li><a href="Gmail.html"> Gmail<span>3</span></a></li>
</ul>
</li>
<li id="three" class="cloud">
<a href="#three">Мои файлы<span>19</span></a>
<ul class="sub-menu">
<li><a href="Photo.html">Мои фотографии<span>14</span></a></li>
<li><a href="Music.html"> Музыка<span>4</span></a></li>
<li><a href="Video.html"> Видеозаписи<span>1</span></a></li>
</ul>
</li>
<li id="four" class="sign">
<a href="#four">Выйти</a>
<ul class="sub-menu">
<li><a href="exit.html"> Выйти из</a></li>
<li><a href="delit.html"> Удалить аккаунт</a></li>
<li><a href="ice.html"> Заморозить аккаунт </a></li>
</ul>
</li>
</ul>
</div>
<--!Загрузка файлов-->
<html>
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
</body>
</html>
<html>
<head>
<title>Результат загрузки файла</title>
</head>
<body>
<?php
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
// Проверяем загружен ли файл
if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
{
move_uploaded_file($_FILES["filename"]["tmp_name"], "/path/to/file/".$_FILES["filename"]["name"]);
} else {
echo("Ошибка загрузки файла");
}
?>
</body>
</html>
<?php
...
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo("Размер файла превышает три мегабайта");
exit;
}
...
?>
<?php
...
if($_FILES["filename"]["size"] > upload_max_filesize)
..
?>
<--!Комментарии и блоги-->
<div class="comments-container">
<div class="top"></div>
<div class="comment">
<div class="gravatar">
<img src="gravatar.gif" alt="Author" />
</div>
<div class="inner-content">
<div class="author">
<a href="http://www.belorusy.net/">Author Name</a>
</div>
<div class="content">
<p>text.</p>
</div>
<div class="date">
00.00.0000 00:00
</div>
</div>
<div class="clear"></div>
</div>
<div class="comment alt">
<div class="gravatar">
<img src="gravatar.gif" alt="Author" />
</div>
<div class="inner-content">
<div class="author">
<a href="http://www.belorusy.net/">Author Name</a>
</div>
<div class="content">
<p>text</p>
</div>
<div class="date">
00.00.0000 00:00
</div>
</div>
<div class="clear"></div>
</div>
<div class="bottom"></div>
</div>
<--!Отправка e-mail-->
<?php
class Mail
{
var $to = "";
var $from = "";
var $reply_to = "";
var $cc = "";
var $bcc = "";
var $subject = "";
var $msg = "";
var $validate_email = true;
var $rigorous_email_check = true;
var $allow_empty_subject = false;
var $allow_empty_msg = false;
var $headers = array();
function check_fields()
{
if(empty($this -> to))
{
return false;
}
if(!$this -> allow_empty_subject && empty($this -> subject))
{
return false;
}
if(!$this -> allow_empty_msg && empty($this -> msg))
{
return false;
}
if(!empty($this -> from))
{
$this->headers[] = "From: $this -> from";
}
if(!empty($this -> reply_to))
{
$this -> headers[] = "Reply_to: $this -> reply_to";
}
if ($this -> validate_email)
{
if (!preg_match("/[-0-9a-z_\.]+@[-0-9a-z_\.]+\.[a-z]{2,6}/i", $this -> to))
{
return false;
}
return true;
}
}
function send()
/* метод отправки сообщения */
{
if(!$this -> check_fields()) return true;
if (mail($this -> to, htmlspecialchars( stripslashes(trim($this -> subject))),
htmlspecialchars(stripslashes(trim($this -> msg)))))
{
return true;
}else{
return false;
}
}
}
?>
<--! Ротатор изображений-->
<div id="rotator">
<ul>
<li class="show">
<img src="img11.jpg" width="1202" height="327" alt=""/>
</li>
<li> <img src="img22.jpg" width="1202" height="327" alt=""/> </li>
<li> <img src="img33.jpg" width="1202" height="327" alt=""/> </li>
</ul>
</div>
<--!Видеоплеер-->
<object type="application/x-shockwave-flash" data="http://mobilka.okis.ru/file/mobilka/uflvplayer_500x375.swf" height="300" width="400"><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://mobilka.okis.ru/file/mobilka/uflvplayer_500x375.swf" /><param name="FlashVars" value="way=http://mobilka.okis.ru/file/mobilka/House%20Season%205%20Promo.flv&swf=http://mobilka.okis.ru/file/mobilka/uflvplayer_500x375.swf&w=400&h=300&autoplay=0&tools=1&skin=grey&volume=100&q=&comment=www.mobilka.okis.ru" /></object><p><a href="http://www.mobilka.okis.ru" target="_blank"> </a>
<--!Аудиоплеер-->
<object width="550" height="42"><param name="movie" value="http://embed.pleer.com/track?id=Btaj3B3x2fhoBw75"></param><embed src="http://embed.pleer.com/track?id=Btaj3B3x2fhoBw75" type="application/x-shockwave-flash" width="550" height="42"></embed></object> <br> <small><a href="http://pleer.com/tracks/1366671KfXt" target="_blank"> </a> <a href="http://pleer.com/" target="_blank"> </a></small>
<--!Алгоритм MD5-->
/*
* Convert a 32-bit number to a hex string with ls-byte first
*/
var hex_chr = "0123456789abcdef";
function rhex(num)
{
str = "";
for(j = 0; j <= 3; j++)
str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) +
hex_chr.charAt((num >> (j * 8)) & 0x0F);
return str;
}
/*
* Convert a string to a sequence of 16-word blocks, stored as an array.
* Append padding bits and the length, as described in the MD5 standard.
*/
function str2blks_MD5(str)
{
nblk = ((str.length + 8) >> 6) + 1;
blks = new Array(nblk * 16);
for(i = 0; i < nblk * 16; i++) blks[i] = 0;
for(i = 0; i < str.length; i++)
blks[i >> 2] |= str.charCodeAt(i) << ((i % 4) * 8);
blks[i >> 2] |= 0x80 << ((i % 4) * 8);
blks[nblk * 16 - 2] = str.length * 8;
return blks;
}
/*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
function add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}
/*
* Bitwise rotate a 32-bit number to the left
*/
function rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt));
}
/*
* These functions implement the basic operation for each round of the
* algorithm.
*/
function cmn(q, a, b, x, s, t)
{
return add(rol(add(add(a, q), add(x, t)), s), b);
}
function ff(a, b, c, d, x, s, t)
{
return cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
function gg(a, b, c, d, x, s, t)
{
return cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
function hh(a, b, c, d, x, s, t)
{
return cmn(b ^ c ^ d, a, b, x, s, t);
}
function ii(a, b, c, d, x, s, t)
{
return cmn(c ^ (b | (~d)), a, b, x, s, t);
}
/*
* Take a string and return the hex representation of its MD5.
*/
function calcMD5(str)
{
x = str2blks_MD5(str);
a = 1732584193;
b = -271733879;
c = -1732584194;
d = 271733878;
for(i = 0; i < x.length; i += 16)
{
olda = a;
oldb = b;
oldc = c;
oldd = d;
a = ff(a, b, c, d, x[i+ 0], 7 , -680876936);
d = ff(d, a, b, c, x[i+ 1], 12, -389564586);
c = ff(c, d, a, b, x[i+ 2], 17, 606105819);
b = ff(b, c, d, a, x[i+ 3], 22, -1044525330);
a = ff(a, b, c, d, x[i+ 4], 7 , -176418897);
d = ff(d, a, b, c, x[i+ 5], 12, 1200080426);
c = ff(c, d, a, b, x[i+ 6], 17, -1473231341);
b = ff(b, c, d, a, x[i+ 7], 22, -45705983);
a = ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
d = ff(d, a, b, c, x[i+ 9], 12, -1958414417);
c = ff(c, d, a, b, x[i+10], 17, -42063);
b = ff(b, c, d, a, x[i+11], 22, -1990404162);
a = ff(a, b, c, d, x[i+12], 7 , 1804603682);
d = ff(d, a, b, c, x[i+13], 12, -40341101);
c = ff(c, d, a, b, x[i+14], 17, -1502002290);
b = ff(b, c, d, a, x[i+15], 22, 1236535329);
a = gg(a, b, c, d, x[i+ 1], 5 , -165796510);
d = gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
c = gg(c, d, a, b, x[i+11], 14, 643717713);
b = gg(b, c, d, a, x[i+ 0], 20, -373897302);
a = gg(a, b, c, d, x[i+ 5], 5 , -701558691);
d = gg(d, a, b, c, x[i+10], 9 , 38016083);
c = gg(c, d, a, b, x[i+15], 14, -660478335);
b = gg(b, c, d, a, x[i+ 4]
, 20, -405537848);
a = gg(a, b, c, d, x[i+ 9], 5 , 568446438);
d = gg(d, a, b, c, x[i+14], 9 , -1019803690);
c = gg(c, d, a, b, x[i+ 3], 14, -187363961);
b = gg(b, c, d, a, x[i+ 8], 20, 1163531501);
a = gg(a, b, c, d, x[i+13], 5 , -1444681467);
d = gg(d, a, b, c, x[i+ 2], 9 , -51403784);
c = gg(c, d, a, b, x[i+ 7], 14, 1735328473);
b = gg(b, c, d, a, x[i+12], 20, -1926607734);
a = hh(a, b, c, d, x[i+ 5], 4 , -378558);
d = hh(d, a, b, c, x[i+ 8], 11, -2022574463)<;B>;
c = hh(c, d, a, b, x[i+11], 16, 1839030562);
b = hh(b, c, d, a, x[i+14], 23, -35309556);
a = hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
d = hh(d, a, b, c, x[i+ 4], 11, 1272893353);
c = hh(c, d, a, b, x[i+ 7], 16, -155497632);
b = hh(b, c, d, a, x[i+10], 23, -1094730640);
a = hh(a, b, c, d, x[i+13], 4 , 681279174);
d = hh(d, a, b, c, x[i+ 0], 11, -358537222);
c = hh(c, d, a, b, x[i+ 3], 16, -722521979);
b = hh(b, c, d, a, x[i+ 6], 23, 76029189);
a = hh(a, b, c, d, x[i+ 9], 4 , -640364487);
d = hh(d, a, b, c, x[i+12], 11, -421815835);
c = hh(c, d, a, b, x[i+15], 16, 530742520);
b = hh(b, c, d, a, x[i+ 2], 23, -995338651);
a = ii(a, b, c, d, x[i+ 0], 6 , -198630844);
d = ii(d, a, b, c, x[i+ 7], 10, 1126891415);
c = ii(c, d, a, b, x[i+14], 15, -1416354905);
b = ii(b, c, d, a, x[i+ 5], 21, -57434055);
a = ii(a, b, c, d, x[i+12], 6 , 1700485571);
d = ii(d, a, b, c, x[i+ 3], 10, -1894986606);
c = ii(c, d, a, b, x[i+10], 15, -1051523);
b = ii(b, c, d, a, x[i+ 1], 21, -2054922799);
a = ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
d = ii(d, a, b, c, x[i+15], 10, -30611744);
c = ii(c, d, a, b, x[i+ 6], 15, -1560198380);
b = ii(b, c, d, a, x[i+13], 21, 1309151649);
a = ii(a, b, c, d, x[i+ 4], 6 , -145523070);
d = ii(d, a, b, c, x[i+11], 10, -1120210379);
c = ii(c, d, a, b, x[i+ 2], 15, 718787259);
b = ii(b, c, d, a, x[i+ 9], 21, -343485551);
a = add(a, olda);
b = add(b, oldb);
c = add(c, oldc);
d = add(d, oldd);
}
return rhex(a) + rhex(b) + rhex(c) + rhex(d);
}
<--!Индикатор сложности пароля-->
Файл первый:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function toggle_pass(passid) {
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
handle = document.getElementById(passid);
var url = 'ajax.php?';
if(handle.value.length > 0) {
var fullurl = url + 'do=check_password_strength&pass=' + encodeURIComponent(handle.value);
http.open("GET", fullurl, true);
http.send(null);
http.onreadystatechange = statechange_password;
} else {
document.getElementById('password_strength').innerHTML = '';
}
}
function statechange_password() {
if (http.readyState == 4) {
var xmlObj = http.responseXML;
var html = xmlObj.getElementsByTagName('result').item(0).firstChild.data;
document.getElementById('password_strength').innerHTML = html;
}
}
</script>
<style type="text/css">
input {
border: 1px solid #000000;
padding: 5px;
}
#password_strength {
width: 250px;
background: #cccccc;
}
#password_bar {
font-size: 11px;
background: #7FFF00;
border: 1px solid #cccccc;
padding: 5px;
}
</style>
</head>
<body>
<input id="pass" type="password" name="password" onchange="toggle_pass('pass')" /><br /><br />
<strong>Сложность пароля</strong>:<br />
<div id="password_strength"> </div>
</body>
</html>
Файл второй:
<?php
$do = $_GET['do'];
switch($do) {
case 'check_password_strength':
$password = $_GET['pass'];
$strength = 0;
// буквы (маленькие)
if(preg_match("/([a-z]+)/", $password)) {
$strength++;
}
// буквы (большие)
if(preg_match("/([A-Z]+)/", $password)) {
$strength++;
}
// числа
if(preg_match("/([0-9]+)/", $password)) {
$strength++;
}
// символы
if(preg_match("/(W+)/", $password)) {
$strength++;
}
header('Content-Type: text/xml');
header('Pragma: no-cache');
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<result><![CDATA[';
switch($strength) {
case 1:
echo '<div style="width: 25%" id="password_bar">Очень легкий</div>';
break;
case 2:
echo '<div style="width: 50%" id="password_bar">Легкий</div>';
break;
case 3:
echo '<div style="width: 75%" id="password_bar">Сложный</div>';
break;
case 4:
echo '<div style="width: 100%" id="password_bar">Очень сложный</div>';
break;
}
echo ']]></result>';
break;
default:
echo 'Error, invalid action';
break;
}
?>
<--!Временная блокировка пользователей-->
<?php
$bot='';
$ip=$_SERVER['REMOTE_ADDR'];
if (strstr($_SERVER['HTTP_USER_AGENT'], 'Yandex')) $bot='Yandex';
elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'Google')) $bot='Google';
elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'Yahoo')) $bot='Yahoo';
elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'Mail')) $bot='Mail';
if ($bot=='') {
$db=mysqli_connect("localhost","логин","пароль","имя_бд");
$res=mysqli_query($db,"INSERT INTO all_visits (ip,date) VALUES
(INET_ATON('".$ip."'),'".time()."')");
$res=mysqli_query($db,"SELECT count(id) FROM all_visits WHERE
(ip=INET_ATON('".$ip."') and date>'".(time()-10)."') LIMIT 1");
$count_visit=mysqli_fetch_array($res);
if ($count_visit[0]>10) {
$res=mysqli_query($db,"INSERT INTO black_list_ip (ip,date) VALUES
(INET_ATON('".$ip."'),'".time()."')");
$start_line=0;
$lines='';
$ln_hta='';
$fh=fopen(".htaccess", "a+");
flock($fh, LOCK_EX);
fseek($fh, 0);
while (!feof($fh)) $lines.=fread($fh,2048);
$lines=explode("\n", $lines);
for ($n=0; $n<=count($lines); $n++) {
if (strstr($lines[$n],"Order Allow,Deny")) $start_line=$n;
}
if ($start_line!=0) for ($n=0; $n<$start_line; $n++) $ln_hta[]=$lines[$n];
else $ln_hta=$lines;
$ln_hta[]="Order Allow,Deny";
$ln_hta[]="Allow from all";
$res=mysqli_query($db,"SELECT INET_NTOA(ip) AS ip,date FROM black_list_ip
ORDER BY INET_ATON(ip)");
while ($bad_ip=mysqli_fetch_array($res)) {
if (time()<($bad_ip[date]+900))$ln_hta[]=" deny from ".$bad_ip[ip];
}
$ln_hta=implode("\n",$ln_hta);
ftruncate($fh, 0);
fwrite($fh, $ln_hta);
flock($fh, LOCK_UN);
fclose($fh);
}
}
?>
<?php
$db=mysqli_connect("localhost","логин","пароль","имя_бд");
$res=mysqli_query($db,"DELETE FROM black_list_ip WHERE date<".(time()-900)."");
$res=mysqli_query($db,"DELETE FROM all_visits WHERE date<".(time()-900)."");
$start_line=0;
$lines='';
$ln_hta='';
$fh=fopen(".htaccess", "a+");
flock($fh, LOCK_EX);
fseek($fh, 0);
while (!feof($fh)) $lines.=fread($fh,2048);
$lines=explode("\n", $lines);
for ($n=0; $n<=count($lines); $n++) {
if (strstr($lines[$n],"Order Allow,Deny")) $start_line=$n;
}
if ($start_line!=0) for ($n=0; $n<$start_line; $n++) $ln_hta[]=$lines[$n];
else $ln_hta=$lines;
$ln_hta[]="Order Allow,Deny";
$ln_hta[]="Allow from all";
$res=mysqli_query($db,"SELECT INET_NTOA(ip) AS ip,date FROM black_list_ip
ORDER BY INET_ATON(ip)");
while ($bad_ip=mysqli_fetch_array($res)) {
if (time()<($bad_ip[date]+900))$ln_hta[]=" deny from ".$bad_ip[ip];
$ln_hta=implode("\n",$ln_hta);
ftruncate($fh, 0);
fwrite($fh, $ln_hta);
flock($fh, LOCK_UN);
fclose($fh);
?>
<--!Запись логов социальной сети-->
<?php
$file="base.log";
$col_zap=4999;
function getRealIpAddr() {
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{ $ip=$_SERVER['HTTP_CLIENT_IP']; }
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{ $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; }
else { $ip=$_SERVER['REMOTE_ADDR']; }
return $ip;
if (strstr($_SERVER['HTTP_USER_AGENT'], 'YandexBot')) {$bot='YandexBot';}
elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'Googlebot')) {$bot='Googlebot';}
else { $bot=$_SERVER['HTTP_USER_AGENT']; }
$ip = getRealIpAddr();
$date = date("H:i:s d.m.Y");
$home = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$lines = file($file);
while(count($lines) > $col_zap) array_shift($lines);
$lines[] = $date."|".$bot."|".$ip."|".$home."|\r\n";
file_put_contents($file, $lines);
?>
<?php
if (isset($_GET[col])) { $col=$_GET[col]; } else { $col=50; }
$file=file("base.log"); ?>
<html>
<head>
<style type='text/css'>
td.zz {PADDING-LEFT: 3px; FONT-SIZE: 9pt; PADDING-TOP: 2px; FONT-FAMILY: Arial; }
</style>
</head>
<body>
<center>
<?phpif ($col>sizeof($file)) { $col=sizeof($file); }
echo "Последние <b>".$col."</b> посещений сайта:"; ?>
<table width="680" cellspacing="1" cellpadding="1" border="0"
STYLE="table-layout:fixed">
<tr bgcolor="#eeeeee">
<td class="zz" width="100"><b>Время, дата</b></td>
<td class="zz" width="200"><b>Кто посещал</b></td>
<td class="zz" width="100"><b>IP, прокси</b></td>
<td class="zz" width="280"><b>Посещенный URL</b></td>
</tr>
<?php
for ($si=sizeof($file)-1; $si+1>sizeof($file)-$col; $si--) {
$string=explode("|",$file[$si]);
$q1[$si]=$string[0]; // дата и время
$q2[$si]=$string[1]; // имя бота
$q3[$si]=$string[2]; // ip бота
$q4[$si]=$string[3]; // адрес посещения
echo '<tr bgcolor="#eeeeee"><td class="zz">'.$q1[$si].'</td>';
echo '<td class="zz">'.$q2[$si].'</td>';
echo '<td class="zz">'.$q3[$si].'</td>';
echo '<td class="zz">'.$q4[$si].'</td></tr>';
}
echo '</table>';
echo '<br>Просмотреть последние <a href=?col=100>100</a> <a href=?col=500>500</a>';
echo '<a href=?col=1000>1000</a> посещений.';
echo '<br>Просмотреть <a href=?col='.sizeof($file).'>все посещения</a>.</center>';
echo '</body></html>';
?>
<--!Запрет загрузки изображений с эротическим содержанием-->
CREATE TABLE `users` (
`uid` int(11) AUTO_INCREMENT PRIMARY KEY,
`username` varchar(255) UNIQUE KEY,
`password` varchar(100),
`email` varchar(255) UNIQUE KEY
)
<script type="text/javascript" src="http://ajax.googleapis.com/
ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery.wallform.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$('#photoimg').live('change', function()
{
var A=$("#imageloadstatus");
var B=$("#imageloadbutton");
$("#imageform").ajaxForm({target: '#preview',
beforeSubmit:function(){
A.show();
B.hide();
},
success:function(){
A.hide();
B.show();
},
error:function(){
A.hide();
B.show();
} }).submit();
});
});
</script>
<?php
include('db.php');
session_start();
$session_id='1';
?>
<div id='preview'>
</div>
<form id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>
Upload image:
<div id='imageloadstatus' style='display:none'><img src="loader.gif" alt="Uploading...."/></div>
<div id='imageloadbutton'>
<input type="file" name="photoimg" id="photoimg" />
</div>
</form>
<?php
include('db.php');
session_start();
$session_id='1';
$path = "uploads/";
function getExtension($str)
{
$i = strrpos($str, ".");
if (!$i)
{
return "";
}
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg","PNG","JPG","JPEG","GIF","BMP");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
if(strlen($name))
{
$ext = getExtension($name);
if(in_array($ext,$valid_formats))
{
if($size<(1024*1024))
{
require_once('class.ImageFilter.php');
$filter = new ImageFilter;
$score = $filter->GetScore($_FILES['photoimg']['tmp_name']);
if(isset($score))
{
if($score >= 40)
{
echo "Результат оценки ".$score."%, Ваше изображение содержит недопустимое содержимое :-(";
}
else
{
$actual_image_name = time().$session_id.".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
{
mysqli_query($connection,"UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
echo "<img src='uploads/".$actual_image_name."' class='preview'>";
}
else
echo "неудача";
}
}
}
else
echo "Изображение не должно превышать 1 MB";
}
else
echo "Недопустимый формат..";
}
else
echo "Выберите изображение..!";
exit;
}
?>
<?php
error_reporting(0);
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'username');
define('DB_PASSWORD', 'password');
define('DB_DATABASE', 'database');
$connection =@mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>
<--!Автоматическое резервеное копирование данных-->
<?php
set_time_limit(0);
$db_names = array();
$db_names[] = "db1";
$db_names[] = "db2";
$source_dirs = array();
$source_dirs[] = "/home/mysite1.ru";
$source_dirs[] = "/home/mysite2.ru";
$offset_dirs = strlen("/home/");
$host = "localhost";
$user = "root";
$password = "";
$dump_dir = "/home/backup";
$delay_delete = 35 * 24 * 3600;
$filezip = "backup_".date("Y-m-d").".zip";
deleteOldArchive();
if (file_exists($dump_dir."/".$filezip)) exit;
$db_files = array();
for ($i = 0; $i < count($db_names); $i++) {
$filename = $db_names[$i].".sql";
$db_files[] = $dump_dir."/".$filename;
$fp = fopen($dump_dir."/".$filename, "a");
$db = new mysqli($host, $user, $password, $db_names[$i]);
$db->query("SET NAMES 'utf-8'");
$result_set = $db->query("SHOW TABLES");
while (($table = $result_set->fetch_assoc()) != false) {
/* Перебор всех таблиц в базе данных */
$table = array_values($table);
if ($fp) {
$result_set_table = $db->query("SHOW CREATE TABLE `".$table[0]."`");
$query = $result_set_table->fetch_assoc();
$query = array_values($query);
fwrite($fp, "\n".$query[1].";\n");
$rows = "SELECT * FROM `".$table[0]."`";
$result_set_rows = $db->query($rows);
while (($row = $result_set_rows->fetch_assoc()) != false) {
$query = "";
foreach ($row as $field) {
if (is_null($field)) $field = "NULL";
else $field = "'".$db->real_escape_string($field)."'";
if ($query == "") $query = $field;
else $query .= ", ".$field;
}
$query = "INSERT INTO `".$table[0]."` VALUES (".$query.");";
fwrite($fp, $query);
}
}
}
fclose($fp);
$db->close();
}
$zip = new ZipArchive();
$allfiles = array();
if ($zip->open($dump_dir."/".$filezip, ZipArchive::CREATE) === true) {
for ($i = 0; $i < count($source_dirs); $i++) {
if (is_dir($source_dirs[$i])) recoursiveDir($source_dirs[$i]);
else $allfiles[] = $source_dirs[$i];
foreach ($allfiles as $val){
$local = substr($val, $offset_dirs);
$zip->addFile($val, $local);
}
}
for ($i = 0; $i < count($db_files); $i++) {
$local = substr($db_files[$i], strlen($dump_dir) + 1);
$zip->addFile($db_files[$i], $local);
}
$zip->close();
}
for ($i = 0; $i < count($db_files); $i++) unlink($db_files[$i]);
db_files
function recoursiveDir($dir){
global $allfiles;
if ($files = glob($dir."/{,.}*", GLOB_BRACE)) {
foreach($files as $file){
$b_name = basename($file);
if (($b_name == ".") || ($b_name == "..")) continue;
if (is_dir($file)) recoursiveDir($file);
else $allfiles[] = $file;
}
}
}
function deleteOldArchive() {
global $dump_dir;
global $delay_delete;
$ts = time();
$files = glob($dump_dir."/*.zip");
foreach ($files as $file)
if ($ts - filemtime($file) > $delay_delete) unlink($file);
}
>
<--!Защита от спама с помощью Akismet-->
<?
require_once ('classes/Akismet.class.php');
class MySpamProtection {
var $sMyAkismetKey;
var $sWebsiteUrl;
var $sAuthName;
var $sAuthEml;
var $sAuthUrl;
var $oAkismet;
public function MySpamProtection() {
// Устанавливаем необходимые значения для перменных
$this->sMyAkismetKey = ' ';
$this->sWebsiteUrl = ' ';
$this->sAuthName = ' ';
$this->sAuthEml = '';
$this->sAuthUrl = '';
$this->oAkismet = new Akismet($this->sWebsiteUrl ,$this->sMyAkismetKey);
$this->oAkismet->setCommentAuthor($this->sAuthName);
$this->oAkismet->setCommentAuthorEmail($this->sAuthEml);
$this->oAkismet->setCommentAuthorURL($this->sAuthUrl);
}
public function isSpam($s) {
if (! $this->oAkismet) return false;
$this->oAkismet->setCommentContent($s);
return $this->oAkismet->isCommentSpam();
}
}
echo <<<EOF
<style type="text/css">
form div {
margin:10px;
}
form label {
width:90px;
float:left;
display:block;
}
</style>
<form action="" method="post">
<div><label for="author">Автор</label><input id="author" name="author" type="text" value="" /></div>
<div><label for="comment">Комментарий</label><textarea id="comment" name="comment" cols="20" rows="4"></textarea></div>
<div><input name="submit" type="submit" value="Отправить" /></div>
</form>
EOF;
if ($_POST) {
echo '<pre>';
print_r($_POST);
echo '</pre>';
$sPostAuthor = $_POST['author'];
$sCommentComment = $_POST['comment'];
$oMySpamProtection = new MySpamProtection();
$sAuthorCheck = ($oMySpamProtection->isSpam($sPostAuthor)) ? ' "Автор" отмечен как спам' : '"Автор" НЕ ИМЕЕТ отметки как спам';
$sCommentCheck = ($oMySpamProtection->isSpam($sCommentComment)) ? ' "Комментарий" отмечен как спам' : '"Комментарий" НЕ ИМЕЕТ отметки как спам';
echo $sAuthorCheck . '<br />' . $sCommentCheck;
}
?>
<div style="bottom:0;position:fixed;">
<hr style="clear:both;" />
<h4>
<a href="http://www.ruseller.com/" target="_blank">Материалы сайта RUSELLER.COM</a>
</h4>
</div>
Размещено на Allbest.ur
Подобные документы
Анализ предметной области и описание основных функциональных подсистем автоматизированного рабочего места администратора кинотеатра "Мир". Разработка инфологической модели базы данных и заполнение форм данных. Обеспечение безопасности и доступа к данным.
курсовая работа [4,4 M], добавлен 27.12.2014Создание автоматизированного рабочего места подготовки управляющих программ для станков с ЧПУ. Технологическая сущность и формализация алгоритма задачи; техническое и программное обеспечение АРМ. Организация оптимальных условий труда программиста; смета.
дипломная работа [2,4 M], добавлен 22.05.2013Технико-экономическое обоснование разработки вычислительной сети. Функции пользователя в сети. Выбор конфигурации. Проектирование структурной схемы. Планирование и анализ угроз информационной безопасности. Моделирование сети. Перспективы развития.
курсовая работа [556,7 K], добавлен 10.12.2008Данные предметной области, содержащие информацию, необходимую для разработки автоматизированного рабочего места. Выбор средств разработки. Структура базы данных. Вывод данных, статистика распределения нагрузки. Разработка руководства оператора.
дипломная работа [8,4 M], добавлен 19.10.2012Использование моделирования в программной инженерии в процессе разработки программного обеспечения. Основные этапы процесса разработки программного обеспечения, их характеристика. Моделирование процессов, их определение фазами и видами деятельности.
реферат [2,2 M], добавлен 25.12.2017Принципы формирования имен в сети Internet, элементы браузера Internet Explorer. Добавление Web-страницы в список избранных. Средства ускорения доступа к часто посещаемым страницам. Способы обеспечения доступа к ресурсам сети Internet в автономном режиме.
лабораторная работа [3,4 M], добавлен 24.05.2015Обоснование выбора технологии и программных средств для разработки утилиты. Требования к функциональным характеристикам и моделирование предметной области. Спецификация вариантов использования и расчет показателей экономической эффективности проекта.
дипломная работа [1,1 M], добавлен 13.12.2013Сетевая технология RadioEthernet. Интеллектуальный коммуникационный процессор. Программное обеспечение судовой сети. Пример разработки WEB-страницы. Становление и настройка программ-браузеров и почтовых клиентов: Internet Explorer и Mozilla Firefox.
контрольная работа [1,6 M], добавлен 29.06.2011Способы и методы разработки удаленного автоматизированного рабочего места специалиста службы социальной защиты района Северное Тушино г. Москвы. Теория реляционных баз данных. Этапы жизненного цикла проекта, обоснование его экономической эффективности.
дипломная работа [644,5 K], добавлен 19.02.2013Концептуальное моделирование профессиональной среды. Создание единой информационной сети. Перечень данных необходимых для реализации функций. Проектирование реляционных баз данных. Нормализация отношений и структура файлов. Выбор средств программирования.
научная работа [20,5 K], добавлен 29.01.2009