PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (11): В начало « ... 3 4 5 6 [7] 8 9 10 11 »
Найдено сообщений: 156
-=1100=-
Отправлено: 03 Октября, 2009 - 01:40:25 • Тема: Сумма значений • Форум: Программирование на PHP
Ответов: 7 Просмотров: 678
PHP:
скопировать код в буфер обмена
<form action='' method='POST'>
<input type="radio" value="1" name="answer_1">-1<br>
<input type="radio" value="2" name="answer_1">-2<br>
<input type="radio" value="3" name="answer_1">-3<br>
<br><br>
<input type="radio" value="1" name="answer_2">-1<br>
<input type="radio" value="2" name="answer_2">-2<br>
<input type="radio" value="3" name="answer_2">-3<br>
<input type='submit' />
</form>
<?
if ( ! empty ( $_POST [ 'answer_1' ] ) && ! empty ( $_POST [ 'answer_2' ] ) ) {
$answer1 = $_POST [ 'answer_1' ] ;
$answer2 = $_POST [ 'answer_2' ] ;
$summa = $answer1 + $answer2 ;
echo ( $summa ) ;
}
-=1100=-
Отправлено: 02 Октября, 2009 - 02:53:16 • Тема: Запрос к 3м таблицам • Форум: SQL и Архитектура БД
Ответов: 1 Просмотров: 18
Есть три таблицы
msg
-otkogo // Записывается ID отправителья
-komy // Записывается ID получателя
-msg // сообщения
admin
-ID
-fname
-iname
-oname
user
-ID
-fname
-iname
-oname
Есть запрос
И он работает криво.
А суть такова.
Так как в таблице msg содержутся только id пользователей мне необходимо вытащцить и их имена из других таблиц.
Помогите, чем могуите.
-=1100=-
Отправлено: 01 Октября, 2009 - 07:37:31 • Тема: Свое сообщение об ошибке 404 • Форум: Программирование на PHP
Ответов: 3 Просмотров: 265
1. Создай файл ".htaccess" в корне сайта
2. в нем напиши " ErrorDocument 404 404.html
404.html
CODE (
text ):
скопировать код в буфер обмена
<html>
<head>
......
</head>
<body onLoad=text()>
......
</body>
</html>
<script type='text/javascript'>
function text(){
//Твой функция
}
</script>
При отсутствии страницы, сервер отображает 404.html. Где и выполняется script
-=1100=-
Отправлено: 01 Октября, 2009 - 07:25:27 • Тема: Авторизация на сайте • Форум: Программирование на PHP
Ответов: 10 Просмотров: 513
Phantik пишет: Зато такой метод увеличивает загрузку базы. Это ведь каждый раз, для каждого пользователя, при каждом переходе на секретную страницу выполняется дополнительный запрос к базе
Тут я полностью согласен.
Просто так более безопаснее. мне так кажется
-=1100=-
Отправлено: 30 Сентября, 2009 - 19:42:31 • Тема: Авторизация на сайте • Форум: Программирование на PHP
Ответов: 10 Просмотров: 513
Phantik пишет: 2) Зачем пароль хэшировать 2 раза?
Это параноидальное ))
Phantik пишет: Почему в SQL запросах вместо = ставишь LIKE?
Мне казалась что LIKE это для VARCHAR, а = для INT
Phantik пишет: Не совсем понял с какой целью необходимо хранить в базе gen1 и gen2? А в каждой странице выбирать их из базы, складывать и сверять с сессионной переменной? Это должно спасти в случае кражи кукисов? Или для чего это нужно?
Ну это для пущей безопасности.
А если использовать ip то еще " + " в безопасности.
PHP:
скопировать код в буфер обмена
include "inc/generator.php" ; // строка из 50 символов
include "inc/gen.php" ; // строка из 5 символов
$ipusera = getenv ( "REMOTE_ADDR" ) . $hvost ; // ip юзера + 5 символьная строка
$access = mysql_query ( "SELECT * FROM .`dostup` WHERE `login`='$logi '" ) ;
if ( $access [ 2
] === md5 ( md5 ( $passs ) ) && $access [ 1
] === $logi ) { $gen1 = substr ( $gener , 0
, 25
) ; // разбиваем на 25 $gen2 = substr ( $gener , 25
) ; // разбиваем на 25
$gen2 = strrev ( $gen2 ) ; // переворачиваем 2-ую часть "длинной" строку
$_SESSION [ 'keysession' ] = $gen2 ; // записываем вторую часть длинной строки в сессию
$_SESSION [ 'hvost' ] = $hvost ; // 5 символьный "хвостик" тоже в сессию
// записываем в БД
// первый кусок от длинной строки
// саму 50-ти символьную строку
mysql_query ( "INSERT INTO sessions VALUES('$gen1 ','$gener ','$ipusera ')" ) ;
и на каждой странице include`м
PHP:
скопировать код в буфер обмена
$exit = "<script type='text/javascript'>window.location.href='http://отсылаем'</script>" ;
\\ берем ip usera + "хвост" .
$ipusera = getenv ( "REMOTE_ADDR" ) . $_SESSION [ 'hvost' ] ; $ses2 = $_SESSION [ 'keysession' ] ;
include "bd.php" ;
\\ Ищем в БД ip usera + 5 символьный "хвост"
$keyses = mysql_query ( "SELECT * FROM sessions WHERE `ipusera` LIKE '$ipusera '" ) ;
// Если нашел то переворачиваем строку $ses2 в исходное положение
// берем первый кусок кусок ( 25 сим.) + второй кусок (25 сим) и сравниваем с 50 символами
if ( $keyses [ 0] . $ses2 != $keyses [ 1] ) {
else {
Если ip другой то ошибка, + "хвостик" делает его уникальным.
-=1100=-
Отправлено: 29 Сентября, 2009 - 21:30:08 • Тема: Авторизация на сайте • Форум: Программирование на PHP
Ответов: 10 Просмотров: 513
Maksim337 пишет: Кстати а как насчет проверки символов?Если я рус букв введу
Об этом я не подумал. Ну вообще можно на JavaScript сделать. При вводе.
А вообще из соображения безопасности как?
-=1100=-
Отправлено: 29 Сентября, 2009 - 20:49:04 • Тема: Авторизация на сайте • Форум: Программирование на PHP
Ответов: 10 Просмотров: 513
Авторизация
PHP:
скопировать код в буфер обмена
// Если поля формы авторизации пустые то EXIT!
if ( empty ( $_POST [ 'loginuser' ] ) && empty ( $_POST [ 'passuser' ] ) ) { echo ( "Error!" ) ;
// Если НЕ пустые, то....
//Преобразует символы
$logi = trim ( $logi ) ; // убираем пробелы $logi = strtolower ( $logi ) ; // делаем строку нижнего регистра
//Преобразует символы
$pass = trim ( $pass ) ; // убираем пробелы
include "inc/bd.php" ; // Подкл. БД
include "inc/generator.php" ; // генерируем строку из 50 символов
// узнаем, нет ли такого логина в БД
$access = mysql_query ( "SELECT * FROM `dostup` WHERE `login` LIKE '$logi ' " ) ;
//$access[2] - Пороль из БД
//$access[1] - Логин из БД
// если пороль и логин TRUE то идем дальше
if ( $access [ 2
] === md5 ( md5 ( $pass ) ) && $access [ 1
] === $logi ) {
// Разбиваем 50 -ти символьную строку напополам (по 25)
// записываем целую 50-ти строку в сессию
$_SESSION [ 'keysession' ] = $gener ;
// пишем обе части длинной строки в БД
mysql_query ( "INSERT INTO sessions VALUES('$gen1 ','$gen2 '')" ) ;
// адресуем юзера ...
echo ( "<script type='text/javascript'>window.location.href='users/'</script>" ) ;
}
else {
echo ( "Ошибка ввода Логина или Пароля" ) ; }
}
файл access.php который includ`им на каждую страницу
PHP:
скопировать код в буфер обмена
// Если сессия пустая то шлем на авторизацию
if ( empty ( $_SESSION [ 'keysession' ] ) ) { echo ( "<script type='text/javascript'>window.location.href='http://авторизация'</script>" ) ;
//Вытаскиваем наше 50-ти символьное число в переменную
$ses = $_SESSION [ 'keysession' ] ;
// Разбиваем ее напополам
include "bd.php" ; // полкл. БД
// Ищем в БД первый кусок 50-ти символьной строки строки
$keyses = mysql_query ( "SELECT * FROM sessions WHERE `ID` LIKE '$ses1 '" ) ;
if ( ! empty ( $keyses [ 0 ] ) ) { // Если нашли ... //Вытаскиваем оба куска из БД и сравниваем их с сессией
// Если они не равны, то переадресация к авторизации
if ( $keyses [ 0] . $keyses [ 1] != $_SESSION [ 'keysession' ] ) {
echo ( "<script type='text/javascript'>window.location.href='http://авторизация'</script>" ) ;
else { // Если в БД пусто то переадрисация
echo ( "<script type='text/javascript'>window.location.href='http://авторизация'</script>" ) ;
Если хватило терпения посмотреть код полностью, напишите ваше мнение "+" и "-"
Какие будут предложения.
Что можно дополнить, что убрать ....?
-=1100=-
Отправлено: 28 Сентября, 2009 - 13:46:17 • Тема: Всплывающее меню средствами javascript • Форум: JavaScript & VBScript
Ответов: 2 Просмотров: 1669
Вот один из вариатнов
CODE (
text ):
скопировать код в буфер обмена
<div onClick="msgwin('300','200','reg')">Регистрация</div>
<div id='reg' style='display:none;'>
<div>Регистрация</div>
<form>
<input type='text' name='' />
<input type='password' name='' />
<input type='submit' />
</form>
<div onClick="document.getElementById('reg').style.display='none'">Закрыть окно</div>
</div>
<script type='text/javascript'>
function msgwin(Wwin,Hwin,win){
var Wmain=document.documentElement.clientWidth || document.body.clientWidth;
var Hmain=document.documentElement.clientheight || document.body.clientHeight;
Wmain=Wmain/2;
Wwin2=Wwin/2;
var lefts=Wmain-Wwin2;
Hmain=Hmain/2;
Hwin2=Hwin/2;
var top=Hmain-Hwin2-50;
var scroll=document.documentElement.scrollTop || document.body.scrollTop;
var msgs=document.getElementById(win);
msgs.style.position='absolute';
msgs.style.width=Wwin;
msgs.style.left=lefts;
msgs.style.top=top+scroll;
msgs.style.height=Hwin;
msgs.style.border='solid 1px black';
msgs.style.color='black';
msgs.style.textAlign='center';
msgs.style.backgroundColor='#DFDFDF';
msgs.style.display='block'
}
</script>
Еесли будешь копировать код, поменяй внутренние ковычки на одинарные
Страниц (11): В начало « ... 3 4 5 6 [7] 8 9 10 11 »
Powered by ExBB FM 1.0 RC1. InvisionExBB