PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (11): В начало « ... 3 4 5 6 [7] 8 9 10 11 »

> Найдено сообщений: 156
-=1100=- Отправлено: 05 Октября, 2009 - 16:24:42 • Тема: Ошибка файла авторизации • Форум: Программирование на PHP

Ответов: 24
Просмотров: 1464
А можно код
blocks/bd.php?
-=1100=- Отправлено: 04 Октября, 2009 - 22:43:45 • Тема: Где найти уроки MySQL ? • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 22
mysql.ru
-=1100=- Отправлено: 04 Октября, 2009 - 00:24:30 • Тема: HELP! php и $_POST[] • Форум: Программирование на PHP

Ответов: 3
Просмотров: 275
Может c помощью $_SESSION[]

ой!
-=1100=- Отправлено: 03 Октября, 2009 - 21:22:53 • Тема: Сравнить переменную со значением в массиве • Форум: Программирование на PHP

Ответов: 4
Просмотров: 1070
PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $a=array('1','2','3','4','5','6','7','8','9','10');
  4.  
  5. $x=5;
  6.  
  7.  
  8.  
  9. for($i=0; $i<=count($a); $i++){
  10.  
  11.         if($a[$i]==$x){
  12.  
  13.            echo($a[$i]);}
  14.  
  15. }
  16.  
  17. ?>
-=1100=- Отправлено: 03 Октября, 2009 - 20:18:43 • Тема: как в цикле вывести статьи в строчку? • Форум: Программирование на PHP

Ответов: 5
Просмотров: 451
Если я правельно понял то так.

PHP:
скопировать код в буфер обмена
  1. <table>
  2. <tr>
  3. ?>
  4. while($myrow = mysql_fetch_array($result)){
  5. echo("<td><img src=''>".$myrow[3]."<br /><div>".$myrow[1]."</div><div>".$myrow[2]."</div></td>");
  6. }
  7. ?>
  8. </tr>
  9. </table>
-=1100=- Отправлено: 03 Октября, 2009 - 14:02:50 • Тема: ПОчему у меня выскакивают крякозяблики • Форум: Программирование на PHP

Ответов: 3
Просмотров: 243
В начале каждой странице вставь

PHP:
скопировать код в буфер обмена
  1. <? header("Content-type: text/html; charset=windows-1251");?>
-=1100=- Отправлено: 03 Октября, 2009 - 01:40:25 • Тема: Сумма значений • Форум: Программирование на PHP

Ответов: 7
Просмотров: 668
PHP:
скопировать код в буфер обмена
  1. <form action='' method='POST'>
  2.  
  3. <input type="radio" value="1" name="answer_1">-1<br>
  4.  
  5. <input type="radio" value="2" name="answer_1">-2<br>
  6.  
  7. <input type="radio" value="3" name="answer_1">-3<br>
  8.  
  9. <br><br>
  10.  
  11. <input type="radio" value="1" name="answer_2">-1<br>
  12.  
  13. <input type="radio" value="2" name="answer_2">-2<br>
  14.  
  15. <input type="radio" value="3" name="answer_2">-3<br>
  16.  
  17. <input type='submit' />
  18.  
  19. </form>
  20.  
  21. <?
  22.  
  23. if(!empty($_POST['answer_1']) && !empty($_POST['answer_2']) ){
  24.  
  25. $answer1=$_POST['answer_1'];
  26.  
  27. $answer2=$_POST['answer_2'];
  28.  
  29. $summa=$answer1+$answer2;
  30.  
  31. echo($summa);
  32.  
  33. }
-=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

Есть запрос
CODE (text):
скопировать код в буфер обмена
  1.  
  2. SELECT  * FROM msg, admin, user WHERE msg.otkogo=admin.ID || msg.otkogo=user.ID  AND komy = '$UserID'");
  3.  

И он работает криво.

А суть такова.

Так как в таблице msg содержутся только id пользователей мне необходимо вытащцить и их имена из других таблиц.

Помогите, чем могуите.
-=1100=- Отправлено: 01 Октября, 2009 - 07:37:31 • Тема: Свое сообщение об ошибке 404 • Форум: Программирование на PHP

Ответов: 3
Просмотров: 265
1. Создай файл ".htaccess" в корне сайта
2. в нем напиши " ErrorDocument 404 404.html

404.html

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <html>
  3.    <head>
  4.         ......
  5.    </head>
  6. <body onLoad=text()>
  7. ......
  8. </body>
  9. </html>
  10. <script type='text/javascript'>
  11. function text(){
  12.    //Твой функция
  13. }
  14. </script>
  15.  


При отсутствии страницы, сервер отображает 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:
скопировать код в буфер обмена
  1.  
  2. include "inc/generator.php"; // строка из 50 символов
  3. include "inc/gen.php"; // строка из 5 символов
  4. $ipusera=getenv("REMOTE_ADDR").$hvost;  // ip юзера + 5 символьная строка
  5.  
  6.   $access=mysql_query("SELECT * FROM .`dostup` WHERE `login`='$logi'");
  7.   $access=mysql_fetch_array($access);
  8.  
  9.   if($access[2]===md5(md5($passs)) && $access[1]===$logi){
  10.      $gen1=substr($gener,0,25); // разбиваем на 25
  11.      $gen2=substr($gener,25);  // разбиваем на 25
  12.          
  13.      $gen2=strrev($gen2);   // переворачиваем 2-ую часть "длинной" строку
  14.            
  15.      $_SESSION['keysession']=$gen2; // записываем вторую часть длинной строки в сессию  
  16.      $_SESSION['hvost']=$hvost;  // 5 символьный "хвостик" тоже в сессию
  17.     // записываем в БД
  18.    // первый кусок от длинной строки
  19.   // саму 50-ти символьную строку
  20.      mysql_query("INSERT INTO sessions VALUES('$gen1','$gener','$ipusera')");
  21.  


и на каждой странице include`м

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  $exit="<script type='text/javascript'>window.location.href='http://отсылаем'</script>";
  4.    \\ берем ip usera + "хвост".
  5.     $ipusera=getenv("REMOTE_ADDR").$_SESSION['hvost'];
  6.     $ses2=$_SESSION['keysession'];
  7.  
  8.     include "bd.php";
  9.     \\ Ищем в БД ip usera + 5 символьный "хвост"
  10.     $keyses=mysql_query("SELECT * FROM  sessions WHERE `ipusera` LIKE '$ipusera'");
  11.     $keyses=mysql_fetch_array($keyses);
  12.          
  13.     if(!empty($keyses[0])){
  14.           // Если нашел то переворачиваем строку $ses2 в исходное положение
  15.                 $ses2=strrev($ses2);
  16.           // берем первый кусок кусок ( 25 сим.) + второй кусок (25 сим) и сравниваем с 50 символами
  17.         if($keyses[0].$ses2!=$keyses[1]) {
  18.  
  19.            exit($exit);}}
  20.     else{
  21.       exit($exit);}
  22.  
  23.  


Если ip другой то ошибка, + "хвостик" делает его уникальным.
-=1100=- Отправлено: 29 Сентября, 2009 - 21:30:08 • Тема: Авторизация на сайте • Форум: Программирование на PHP

Ответов: 10
Просмотров: 513
Maksim337 пишет:
Кстати а как насчет проверки символов?Если я рус букв введу


Об этом я не подумал. Ну вообще можно на JavaScript сделать. При вводе.

А вообще из соображения безопасности как?
-=1100=- Отправлено: 29 Сентября, 2009 - 20:49:04 • Тема: Авторизация на сайте • Форум: Программирование на PHP

Ответов: 10
Просмотров: 513
Авторизация

PHP:
скопировать код в буфер обмена
  1.  
  2. // Если поля  формы авторизации  пустые то EXIT!
  3. if(empty($_POST['loginuser']) && empty($_POST['passuser']) ){
  4.   echo("Error!");
  5.   exit();}
  6. // Если НЕ пустые, то....
  7.  
  8. //Преобразует  символы
  9. $logi=htmlspecialchars($_POST['loginuser']);
  10. $logi=trim($logi);  // убираем пробелы
  11. $logi=strtolower($logi); // делаем строку нижнего регистра
  12.  
  13. //Преобразует  символы
  14. $pass=htmlspecialchars($_POST['passuser']);
  15. $pass=trim($pass); // убираем пробелы
  16.  
  17. include "inc/bd.php"; // Подкл. БД
  18. include "inc/generator.php"; //  генерируем строку из 50 символов
  19.  
  20. // узнаем, нет ли такого логина в БД
  21.   $access=mysql_query("SELECT * FROM `dostup` WHERE `login` LIKE '$logi' ");
  22.   $access=mysql_fetch_array($access);
  23.  
  24.          //$access[2] -  Пороль из БД
  25.         //$access[1] - Логин из БД
  26. // если пороль и логин TRUE то идем дальше
  27.   if($access[2]===md5(md5($pass)) && $access[1]===$logi){
  28.    
  29.   // Разбиваем 50 -ти символьную строку напополам (по 25)
  30.     $gen1=substr($gener,0,25);
  31.      $gen2=substr($gener,25);
  32.    
  33.    // записываем целую 50-ти строку в сессию
  34.       $_SESSION['keysession']=$gener;
  35.    
  36.    // пишем обе части длинной строки в БД
  37.      mysql_query("INSERT INTO sessions VALUES('$gen1','$gen2'')");
  38.  
  39.   // адресуем юзера ...  
  40.      echo("<script type='text/javascript'>window.location.href='users/'</script>");
  41.         }
  42.   else{
  43.      echo("Ошибка ввода Логина или Пароля");}
  44.  
  45.   }
  46.  


файл access.php который includ`им на каждую страницу

PHP:
скопировать код в буфер обмена
  1.  
  2.    // Если сессия пустая то шлем на авторизацию
  3. if(empty($_SESSION['keysession']) ){
  4.     echo("<script type='text/javascript'>window.location.href='http://авторизация'</script>");
  5.    exit();}
  6.  
  7.  //Вытаскиваем наше 50-ти символьное число в переменную
  8.    $ses=$_SESSION['keysession'];
  9.      
  10.   // Разбиваем ее напополам
  11.    $ses1=substr($ses,0,25);
  12.    $ses2=substr($ses,25);  
  13.    
  14.    include "bd.php"; // полкл. БД
  15.  
  16.  // Ищем в БД первый  кусок 50-ти символьной строки  строки
  17.    $keyses=mysql_query("SELECT * FROM  sessions WHERE `ID` LIKE '$ses1'");
  18.    $keyses=mysql_fetch_array($keyses);
  19.    
  20.    if(!empty($keyses[0])){ // Если нашли ...
  21.     //Вытаскиваем оба куска из БД и сравниваем их с сессией
  22.     // Если они не равны, то переадресация к авторизации
  23.       if($keyses[0].$keyses[1]!=$_SESSION['keysession']) {
  24.          echo("<script type='text/javascript'>window.location.href='http://авторизация'</script>");
  25.          exit();}}
  26.    else{ // Если в БД пусто то переадрисация
  27.       echo("<script type='text/javascript'>window.location.href='http://авторизация'</script>");
  28.       exit();}
  29.    
  30.  



Если хватило терпения посмотреть код полностью, напишите ваше мнение "+" и "-"

Какие будут предложения.
Что можно дополнить, что убрать ....?
-=1100=- Отправлено: 29 Сентября, 2009 - 19:54:36 • Тема: Как вывести статьи в строку? • Форум: Программирование на PHP

Ответов: 2
Просмотров: 211
Сформулируй, пожалуйста, по другому свой вопрос, а то что- то вообще ничего не понятно. ))
-=1100=- Отправлено: 28 Сентября, 2009 - 13:46:17 • Тема: Всплывающее меню средствами javascript • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 1669
Вот один из вариатнов

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <div onClick="msgwin('300','200','reg')">Регистрация</div>
  3.  
  4. <div id='reg' style='display:none;'>
  5.  
  6. <div>Регистрация</div>
  7.   <form>
  8.  
  9.   <input type='text' name='' />
  10.  
  11.   <input type='password' name='' />
  12.  
  13.   <input type='submit' />
  14.  
  15.   </form>
  16. <div onClick="document.getElementById('reg').style.display='none'">Закрыть окно</div>
  17. </div>
  18.  
  19.  
  20.  
  21. <script type='text/javascript'>
  22.  
  23. function msgwin(Wwin,Hwin,win){
  24.  
  25. var Wmain=document.documentElement.clientWidth || document.body.clientWidth;
  26.  
  27. var Hmain=document.documentElement.clientheight || document.body.clientHeight;
  28.  
  29.  
  30.  
  31. Wmain=Wmain/2;
  32.  
  33. Wwin2=Wwin/2;
  34.  
  35. var lefts=Wmain-Wwin2;
  36.  
  37.  
  38.  
  39. Hmain=Hmain/2;
  40.  
  41. Hwin2=Hwin/2;
  42.  
  43. var top=Hmain-Hwin2-50;
  44.  
  45.  
  46.  
  47. var scroll=document.documentElement.scrollTop || document.body.scrollTop;
  48.  
  49.  
  50.  
  51. var msgs=document.getElementById(win);
  52.  
  53. msgs.style.position='absolute';
  54.  
  55. msgs.style.width=Wwin;
  56.  
  57. msgs.style.left=lefts;
  58.  
  59. msgs.style.top=top+scroll;
  60.  
  61. msgs.style.height=Hwin;
  62.  
  63. msgs.style.border='solid 1px black';
  64.  
  65. msgs.style.color='black';
  66.  
  67. msgs.style.textAlign='center';
  68.  
  69. msgs.style.backgroundColor='#DFDFDF';
  70.  
  71. msgs.style.display='block'
  72.  
  73. }
  74.  
  75. </script>
  76.  
  77.  
  78.  


Еесли будешь копировать код, поменяй внутренние ковычки на одинарные

Страниц (11): В начало « ... 3 4 5 6 [7] 8 9 10 11 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB