ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3111  
Старый 17.05.2008, 04:27
Аватар для [504]
[504]
Новичок
Регистрация: 06.12.2005
Сообщений: 8
Провел на форуме:
35842

Репутация: 4
По умолчанию

например так:
В каждом скрипте пишем(или же пишем в одном отдельном файле, на котором потом include поставить)
Смотрим авторизован ли юзер(смотря посредством чего идет авторизация, у меня пример проверки сессии):
PHP код:
<?
session_start
();
if (!isset(
$_SESSION['login'])){
   echo 
"Доступ запрещен. Авторизуйтесь";
   exit;
}else{
   
//Тут можем сделать запрос в базу
   //Посмотреть имеет ли данный юзер доступ к скрипту
   //Естесственно, должна быть соответ. база
}
//далее сам скрипт
?>
 
Ответить с цитированием

  #3112  
Старый 17.05.2008, 04:41
Аватар для GreenBear
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

а зачем тут елсе?
 
Ответить с цитированием

  #3113  
Старый 17.05.2008, 04:48
Аватар для [504]
[504]
Новичок
Регистрация: 06.12.2005
Сообщений: 8
Провел на форуме:
35842

Репутация: 4
По умолчанию

У меня вопрос.
ООП в пхп. У меня прописаны классы для работы с MySQL.
Есть функции которые выполняют определенные действия и внутри себя обращаются к классам....
На денвере все нормально работало, но хостинге выскакивали ошибки, типа не возможен доступ к объекту на линии такой-то. Хотя обращался я к классу до функции($con = new MySQLconn(); ), и в самой функции естественно кидал эту переменную в GLOBAL $con .. далее обращение к экземпляру класса $result=$con->createResult($string); Собсвтенно это и вызывало ошибку.

Тут подумал что это не совсем правильно, и надо убрать все функции и сделать классы которые были бы exception(наследованием) класса MySQL
Стоит ли? Ведь это приводит к усложнению скрипта и времени разработки.
Возможно есть какой-нибудь компромис?
 
Ответить с цитированием

  #3114  
Старый 17.05.2008, 11:57
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
убрать все функции и сделать классы которые были бы exception(наследованием) класса MySQL
Убрать все функции и сделать все классы потомками класса для работы с БД - что-то тут определённо не так.

exception - это "исключение".
 
Ответить с цитированием

  #3115  
Старый 17.05.2008, 12:52
Аватар для BlackSun
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

Цитата:
Сообщение от Buffalon  
Плиз дайте хорошую ссылку про то 'Как обезопасить свой код (РHP+Mysql)' короче наверн поняли.. .
http://www.php.su/security/
+ моск))
 
Ответить с цитированием

  #3116  
Старый 18.05.2008, 01:04
Аватар для Zircool
Zircool
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме:
519496

Репутация: 78
Отправить сообщение для Zircool с помощью ICQ
По умолчанию

Проблема с написанием авторизации... есть скрипт login.php

PHP код:
<form  method="POST">
<br/>
&nbsp; &nbsp; &nbsp; Login:<input type="text"  name="log" title="Введите login" value="">
<br/>
<br />
Password:<input type="text"  name="passwd" title="Введите password" value="">
<br/>
<br />
&nbsp; &nbsp; &nbsp; <input type="submit" name="sub"  value="   Go!  " />
<br/>
<br/>
</form>
<?php


$password
="1";
$login="1";
if(isset(
$_POST['sub']))
{
$inputlogin=$_POST['log'];
$inputpassword=$_POST['passwd'];
$inputlogin=trim($inputlogin);
$inputpassword=trim($inputpassword);

        if(
$inputpassword==$password && $inputlogin==$login)
        {
        print  (
"<script>document.location='admin.php';</script>\r\n");

        }
        else
        {
        echo 
"<font color=Red>Неправильный пароль</font>";
       }
}


?>
И есть скрипт admin.php, к которому и нужно открыть доступ через Login.php и сделать запрет на прямой доступ к скриту... Каким образом запретить прямой доступ к скрипту admin.php и при прямом доступе отправлять пользователя на линк авторизации..
 
Ответить с цитированием

  #3117  
Старый 18.05.2008, 01:55
Аватар для vizard-06
vizard-06
Познающий
Регистрация: 06.12.2006
Сообщений: 57
Провел на форуме:
418176

Репутация: 31
По умолчанию

Zircool создавай в login.php сессию а в admin.php проверяй на существование её
 
Ответить с цитированием

  #3118  
Старый 18.05.2008, 02:05
Аватар для Zircool
Zircool
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме:
519496

Репутация: 78
Отправить сообщение для Zircool с помощью ICQ
По умолчанию

vizard-06 Пример можно для моего случая...
 
Ответить с цитированием

  #3119  
Старый 18.05.2008, 02:19
Аватар для vizard-06
vizard-06
Познающий
Регистрация: 06.12.2006
Сообщений: 57
Провел на форуме:
418176

Репутация: 31
По умолчанию

login.php
PHP код:
<?session_start();?>
 <form  method="POST"> 
<br/> 
&nbsp; &nbsp; &nbsp; Login:<input type="text"  name="log" title="Введите login" value=""> 
<br/> 
<br /> 
Password:<input type="text"  name="passwd" title="Введите password" value=""> 
<br/> 
<br /> 
&nbsp; &nbsp; &nbsp; <input type="submit" name="sub"  value="   Go!  " /> 
<br/> 
<br/> 
</form> 
<?php 


$password
="1"
$login="1"
if(isset(
$_POST['sub'])) 

$inputlogin=$_POST['log']; 
$inputpassword=$_POST['passwd']; 
$inputlogin=trim($inputlogin); 
$inputpassword=trim($inputpassword); 

        if(
$inputpassword==$password && $inputlogin==$login
        { 
        
$_SESSION['aut'] = true;
        print  (
"<script>document.location='admin.php';</script>\r\n"); 

        } 
        else 
        { 
        echo 
"<font color=Red>Неправильный пароль</font>"
       } 



?>

admin.php
PHP код:
<?session_start();
if(!isset(
$_SESSION['aut'])) exit('Доступ запрещён');
echo 
'авторизован!';
//дальше исходник....
?>
 
Ответить с цитированием

  #3120  
Старый 18.05.2008, 02:53
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

Настолько тупо делать так:
PHP код:
if(!isset($_SESSION['aut'])) exit('Доступ запрещён'); 
зачем пользователю знать что выводит файл

Лучше просто
PHP код:
if(isset($_SESSION['aut']))
{
//code

И все =\

и все =э
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ