Igara - Sintegra
quinta-feira, 2 de setembro de 2010
Busca  
Porta 80 Web Hosting
 :: Acessibilidade
Ir para conteúdo principal: ALT + 1
 :: Participe
Seja um autor de CD/DVD de Treinamento
Publique um artigo
Publique uma oportunidade
Publique uma notícia
Publique um curso
Publique uma dica
Publique um código
 :: Informativo
Receba nossos informativos por e-mail.
E-mail:   
 
Digite a palavra abaixo:  
 
 
 :: Oportunidades
Cadastrar oportunidades
Gerenciar suas oportunidades
Cadastrar nova empresa
 :: Especiais
Básico de C++
C++ Builder
Curso ASP.NET 3.5 em VB.NET e C#
Guia Prático de HTML
Testes com Visual Studio Team System 2008
 :: Desenvolvimento
ActionScript
ADO.NET
ASP
ASP.NET
Automação Comercial
C#
C/C++
Coldfusion
CSS
Delphi
Disp. Móveis
HTML
Java
Javascript
LSL (Second Life)
Modelagem
PHP
Python
Sharepoint
Silverlight
SQL
VBA (Office)
Visual Basic
Visual Basic .NET
Visual Fox Pro
WCF/WPF
Web Services
XML
 :: Infra
BizTalk Server
CRM
Exchange Server
ForeFront / Antigen / IAG
Interoperabilidade
ISA Server
Linux
MOF
MS Dynamics CRM
Network
OCS / LCS
Outlook
Powershell e Scripts
Redes
Segurança
System Center e Gerenciamento
Virtualização
Windows
Windows Server
 :: Banco de Dados
Access
Caché
Firebird
Interbase
MySQL
Oracle
SQL Server
Sybase
 :: Gerência
Arquitetura
Ciclo de Vida de Desenvolvimento
Controle de Versão
Estimativas
Metodologias
MOF
Qualidade e Testes
 :: Design
Corel
Flash
Photopaint
Photoshop
 :: Livros
Análise Sistemas
Aplicativos
Banco de Dados
Certificação
Design e CAD
Gerência
Hardware
Internet
Programação
Programação Web
Rede
Segurança
Servidores
Sistemas Operacionais
 :: CDs/DVDs
Desenvolvimento
Infra
Design
 :: E-Books
.NET 2.0 (VS 2005)
.NET 1.1 (VS 2003)
SQL Server
Excel 2007
Excel 2003
Access 2003
ASP 3.0
Delphi
Java
Artigos
Safe mode - Modo seguro no PHP
Por: Leo Genilhu
[Entre em contato com o autor ]
Atua como consultor de desenvolvimentos e aplicações em web/wireless, sendo analista de uma empresa de desenvolvimento.
Além disso participa de comunidades de linux e software livre. Mantedor de lista de discussão em php e linux.
Feed de artigos.
Feed de artigos deste autor.
Gere seu feed personalizado  
MS TechEd 2010

Safe mode - Modo seguro no PHP
Publicado em: 06/07/2006

O Safe mode é uma boa tentativa de se tornar mais seguro ou de simplesmente melhorar o nivel de segurança das aplicações escritas em PHP. Através desse parametro no php.ini o script php pode checar em tempo de execução o owner do arquivo que esta sendo executado, manipulando assim informações do proprio servidor e diretorio.

Nota: Quando o safe-mode está ativo, o PHP verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado.

Isso é um problema crônico principalmente em servidores compartilhado onde os varios usuários executam scripts no apache. Os efeitos colaterais dessa configuração é geralmente nas ferramentas de gravação de arquivos no servidor atraves de uploads, porque normalmente essas ferramentas usa am a função copy() e/ou a função move_upload_file() que fica bloqueada ao UIN do usuario que executa o php. Ou seja se o php.ini não estiver bem configurado ambas poderam não funcionar.

Quando o safe_mode está ligado, o PHP checa se o proprietário do script atual bate com o proprietário do arquivo a ser operado por uma função de arquivo. Por exemplo:

-rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 script.php 
-rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd

Executando esse script.php

<?php
 readfile('/etc/passwd'); 
?> 

resulta nesse erro quando o modo seguro estiver habilitado:

Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not 
allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2

No entando, em certos ambientes uma checagem rígida de UID não é apropriada e uma checagem mais leve de GID é suficiente. Isso é suportado através da diretiva safe_mode_gid. Atribuindo a ela o valor On que faz a checagem de GID, mais leve e atribuindo a ela o valor Off (o padrão) faz a checagem UID.

Se, ao invés de safe_mode, você editou um diretório em open_basedir, então todas as operações de arquivos serão limitadas a arquivos no diretório especificado e seus subdiretórios. Por exemplo

 (httpd.conf    do Apache de exemplo): 

<Directory /docroot>
  php_admin_value open_basedir /docroot 
</Directory>

Se você rodar o mesmo script.php com essa configuração de open_basedir então esse será o resultado:

Warning: open_basedir restriction in effect. File is in wrong directory in 
/docroot/script.php on line 2

Ou seja será gerado um Warning avisando das restrições deste diretorio.

Para desabilitar estas funções individualmente você pode usar a directiva disable_functions.

Ela permite que você desabilite algumas funções por razões de segurança. Nela você passa uma lista de nomes de funções separadas por vírgula. disable_functions não é afetada pela diretiva Safe Mode.

disable_functions readfile,system

Essa diretiva é configurada no php.ini

Bom espero ter ajudado com algumas informações sobre safe_mode e direcivas de segurança. Qualquer duvida me envie um email estarei a disposição para ajudar.

Um abraço a todos e até a proxima.

Leo Genilhu

Fonte
manual do PHP.
http://br2.php.net/manual/







 

Inclua um comentário sobre o artigo Topo
Elogios e críticas são muito bem vindos, porém o comentário deve ter referência ao artigo em pauta.
O portal e o autor agradecem.
Nome:    
E-mail:      
Comentários:    
Digite a palavra abaixo:  
Para dúvidas técnicas, NÃO UTILIZE ESTE ESPAÇO, utilize nosso fórum de discussão.
http://linhadecodigo.com.br/cs2/forum
 
Comentários sobre o artigo Ver Todos comentários
O que tem a ver Jesus Cristo com PHP?
Não entendi mas tudo bem, achei que o artigo podia ser um pouco melhor acabado, mas ta valendo!
Quem enviou: Jeferson
Postado em: 23/11/2009 00:00:00
Achei um pouco fraco o artigo, não ensina como desativar as funções de Safe Mode e problemas que podem ocorrer. Não me ajudou muito.
Quem enviou: Neto Terreri
Postado em: 23/06/2007 00:00:00
cARA VC É 10!!!
APRENDI MUITO!!!
SÓ FALTA VC ACEITAR A JESUS CRISTO COMO ÚNICO SALVADOR DA SUA VIDA!!!
EI, ME ENSINA ALGUMAS COISAS E DÊ EXPERIÊNCIAS!1 QUERO SER UM ANALISTA DE SISTEMA TENHO 17 ANOS!!! SOU DE SÃO LUIS -MA
Quem enviou: Eucldies
Postado em: 09/10/2006 00:00:00
Olá.

Algum tempo atrás tive q trocar de um servidor para outro porque de uma hora pra outra eles trocaram o safe_mode=off pra on e com isso os scripts de upload simplesmente não funcionava.

A dúvida é.. como fazer ou montar um script pra funcionar em safe_mode=on? Já que a função copy() ou move_upload_file() não funciona em ON.

Abraços

Julio
Quem enviou: Julio
Postado em: 22/09/2006 00:00:00
Ola Carlos,

Acredito que vc deve comecar estando bastante PHP e Mysql. Algum conhecimento em OS tbem eh muito bom como ex. Linux.

pra isso existe otimos manuais na internet e varios livros.

Em ultimo caso Vc pode contrar a ajuda de um consultor pra um treinamento.

Grato
Leo Genilhu
Quem enviou: Leo Genilhu
Postado em: 04/08/2006 00:00:00
sou iniciante em php e myadim,gostaria saber como faço p/ fazer um sistem cadastro de estoque em php e myadim?
Quem enviou: carlos
Postado em: 29/07/2006 00:00:00
Outros artigos do autor Topo
Administrando banco de dados MySql com PHPMyadmin
PHPDOC – Documentando bem seu código
Segurança: Autenticando o PHP com HTTP (Authentication Required)
Escondendo o PHP
PHP: Programando com segurança
Sistema de identificação em rede (NIS)
Criar backup do banco mysql usando mysqldump
Artigos relacionados Topo
Redirecionamento permanente de páginas web com PHP
Fazendo Conexão com banco de dados com PHP + MySQL
IV ENSOL - Performance de PHP
Desenvolvedor Profissional. Será?
Economia e Liberdade: o software livre une o útil ao agradável
Sou programador, o mágico atende na sala ao lado
Xdebug: instalação, configuração e utilização com WAMP Server
Maldito sobrinho
PHP: Anti SQLInjection no Login
Migração do Joomla CMS e instalação do WAMPServer em Windows Server 2003
Fazendo um simples upload de arquivo com php
Tutorial - Criptografando senhas em PHP
PHP e MySQL: sistema de paginação
Classe para Conexão com o MySQL
PHP - Classe para Upload de Arquivo
Instalando e Configurando o EasyPHP
Upload de arquivos em Flash usando a Class FileReference e integração com PHP e MySQL
Servidor Web de MP3 com Amarok
Cadastro em PHP com AJAX + DOM
Aplicando AJAX com PHP, parte 2 - Combos e validação de formulário
O novo motor da web
PHP5 + OOP - Parte 1 - Autoloading
Configurando o IIS para rodar php 5 – Windows XP SP2
Oracle PL/Web em versao Open Source com PHP e PostgreSQL
Utilizando Impressora Não-Fiscal Bematech em Aplicações WEB (PHP)
Formulários acessíveis à prova de spam
Instalando Apache + MySQL + PHP 5 no Windows - (Segunda edição)
O que é AJAX e como aplicá-la com PHP, parte 1
Miniframework PHP
Autenticação de usuários utilizando PHP/MySQL com Dreamweaver
Produtos relacionados Topo
Pacote: Promoção PHP + MYSQL Intelimax (válido somente para pagamento via boleto bancário)
CD/DVD: DVD Criando uma loja virtual completa com PHP e MySql
CD/DVD: Curso PHP, CSS, HTML - Vídeo Aula - 25 horas
Livro: PHP Programando com Orientação a Objetos (inclui Design Patterns)
Livro: Ajax na Prática - Todo o poder dos melhores Frameworks Ajax aliados ao desenvolvimento Web 2.0 com PHP 5
Livro: Web Interativa com Ajax e PHP
Livro: PHP para quem conhece PHP
Livro: Crie Planilhas Inteligentes com o Microsoft Office Excel 2003 - Avançado
© Copyright 2001-2010 Codeline Editora, Comércio e Tecnologia Ltda. | Política de privacidade e de uso | Anuncie | Fale conosco

» Site hospedado na Porta 80 Web Hosting «
Nossos números
Dicas: 1.314
Códigos/scripts: 279
Funções de VBScript : 90
Funções JScript : 05
Livros: 1.805
Notícias: 2.623
Artigos: 3.020
Cases: 14
Oportunidades: 4.591
Vídeos .Net: 484
Publicidade

Conheça a loja do Linha de Código.

Microsoft indica Linha de Código.

Assine a Revista Mundo .NET
Portal de Vídeos .NET - os melhores vídeos .NET estão aqui
O que você fará com o Visual Studio 2010?
Revista Codificando .Net

Siga-nos no Twitter

Linha de Código no Orkut
Fórum de discussão do portal Linha de Código
Feeds
Oportunidades
Notícias
Artigos
Artigos personalizado
       (Por assunto)
Artigos personalizado
       (Por autor)
Portal Vídeos .NET
Portal Vídeos Delphi
LC Blog
       (Onde você faz a notícia)
Promoções
Promoção Wordpress + Tabless (válido somente para pagamento via boleto bancário)
Promoção Wordpress + Tabless (válido somente para pagamento via boleto bancário)
De: R$ 149,70
Por: R$ 99,80
Promoção PHP + MYSQL Intelimax (válido somente para pagamento via boleto bancário)
De: R$ 308,00
Por: R$ 219,00
Promoção Especial Infra
De: R$ 175,95
Por: R$ 136,00
Promoção: Portal de Vídeos .Net + CD Novidades das Linguagens (válido somente para pagamento via boleto bancário)
De: R$ 162,00
Por: R$ 89,00
Promoção VSTS (válido somente para pagamento via boleto bancário)
De: R$ 219,00
Por: R$ 146,00
CDs/DVDss
DVD Desenvolvimento de Games - Programando Jogos com o 3D Game Studio
DVD Desenvolvimento de Games - Programando Jogos com o 3D Game Studio
Por: R$ 59,00
DVD Curso de CorelDraw X4
Por: R$ 79,90
DVD Curso de Fireworks CS4
Por: R$ 49,90
DVD Curso de Indesign CS4
Por: R$ 55,00
DVD Curso de Efeitos Digitais
Por: R$ 49,90
Livros
MSProject 2007 - Metodologia e Critérios de Qualidade para o Gerenciamento de Projetos
MSProject 2007 - Metodologia e Critérios de Qualidade para o Gerenciamento de Projetos
De: R$ 129,00
Por: R$ 77,40
Foundation FLASH CS3 para Designers
Ciência Moderna
De: R$ 139,00
Por: R$ 83,40
ALGORITMOS O Guia Essencial
Alta Books
De: R$ 64,90
Por: R$ 58,40
Treinamento Prático em Dreamweaver
Digerati Books
Por: R$ 14,95
Estudo Dirigido de Adobe Photoshop CS4 em português - Para Windows
Erica
De: R$ 88,00
Por: R$ 74,80
E-Books
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Por: R$ 30,00
Manual de Estudos - Exame 70-291 - Windows Server 2003 (606 páginas) - entrega via download
Por: R$ 30,00
Dominando MS – Visio ® em 20 Passos - Melhores Práticas em Gestão de Projetos (entrega via download)
Por: R$ 30,00
MS-Project® 2007 - Melhores Práticas de Gestão de Projetos - Dominando MS – Project ® em 20 Passos (e-book com entrega via download)
Por: R$ 20,00
Banco de dados com C# e Visual Studio .Net 2005 (entrega via download)
Por: R$ 20,00
Os 10+ | Autores do dia
Israel Aéce
Júlio Cesar Fabris Battisti
Anderson Patricio
Luiz Felipe de Freitas
Marcio Franco
Eric C M Oliveira
Robert Martim
Ramon Durães
Alessandro de Oliveira Faria
Alfred Reinold Baudisch
Os 10+ | Artigos do dia
HTML Básico
HTML Avançado
Criando aplicativos para o Orkut
PL/SQL - Procedures e Funções
Tutorial de Tabelas Dinâmicas no Excel – Parte 1
Como configurar Conexão Remota no SQL Server 2005
WCF – Gerenciamento de Instância
Básico de C++: Estrutura de um programa em C++
ASP.NET 2.0 - Explorando o GridView
Tutorial: Desenhando com o Corel Draw