Archive for Abril, 2009
Google dá o primeiro passo para a web 3D
SÃO PAULO – O Google mostrou hoje um software chamado O3D, que permite o desenvolvimento de aplicações interativas em 3D diretamente nos browsers.
Trata-se de um plugin para Internet Explorer, Firefox, Chrome e Safari. Com ele, é possível programar usando JavaScript e obter gráficos mais realistas em games e outros programas. A empresa espera que, num futuro próximo, a tecnologia venha embarcada nos navegadores.
… Leia mais
Add comment Abril 23, 2009
Vagas de Emprego – Exterior
VAGAS DISPONÍVEIS NO SITE PHP-JOBS
http://www.phpjobs.com/
| Web Programmer II |
Description
Employment Guide, a division of Dominion Enterprises is actively seeking a PHP Web Programmer II to join our Norfolk, Virginia division. Qualified individuals should possess a passion for working on high traffic sites and developing new and exciting web applications. Additional duties might be required as needed.
Qualifications
Bachelor’s degree in computer science, mathematics or related field preferred OR
Equivalent combination of education and work experience.
2-3+ years of PHP 4/5 is required
Basic to intermediate understanding of Linux (is required) JavaScript / AJAX (is a plus)
Understanding of MVC Frameworks such as CakePHP, Zend Framework, or Ruby on Rails (is a definite plus)
Basic to intermediate understanding of MS-SQL 2005.
Experience using Version Control such as SVN or CVS (is a plus)
Problem solving and time management skills
Ability to work in both an individual and team based environment
Ability to review, analyze and modify programming systems including encoding, testing, debugging and documenting programs.
Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.
Communication Skills and Interpersonal Skills:
Ability to communicate with internal customers clearly and effectively, both verbally and in writing.
Ability to organize, prioritize and perform multiple job tasks simultaneously.
Uses experience and good judgment to plan tasks and projects
Assist in mentoring Junior members of a development team
Proven ability to work creatively and analytically in a problem-solving environment
Ability to troubleshoot applications
Dominion Enterprises offers a dynamic, fun environment, excellent growth opportunities, competitive earnings, and a comprehensive benefits package including tuition reimbursement and 401k.
Dominion Enterprises is an Equal Opportunity Employer and supports a diverse workforce. Dominion Enterprises is a Drug Testing Employer.
| PHP Developer |
Responsibilities:
• Support business needs and translating production numbers into business driving data sets
• Create reporting systems front end and back end applications
• Work closely with DBAs to identify optimal methodologies of data retrieval
• Ideal candidate should not only be able to maintain and write great code, but must understand how to translate business problems into practical solutions
Requirements:
• 3-5 years experience with PHP, MySQL, Javascript, AJAX, HTML
• Ability to write efficient queries and optimize database-intensive application
• Must be able to understand and use development frameworks
• Strong understanding of Linux
• Must be able to work as part of a team
• Must have excellent communication and analytical capabilities
• Must be comfortable with Bash and/or Perl scripting UI development and design highly desired Must understand Object Oriented PHP
To Apply:
Send your cover letter and resume to: php-developer@limewire.com
About Lime Wire
Lime Wire LLC is the maker of the most popular file‐sharing software in the world. Lime Wire prides itself on its great products, one of the most engaged user bases in the world, and an incredible team of talent. Since launching the LimeWire application in 2000, we have continuously sought ways to empower our users. Recently, we have been busy with the launch of the LimeWire Store and creating more ways for Lime Wire’s peer‐to‐peer community to connect.
Still, we are determined to do much more and seek gifted and inspired people to join our team.
We offer competitive salaries, excellent benefits (including 5 weeks of vacation per year) and great perks (including free lunches, snacks, drinks, tickets to cultural and athletic events, company‐sponsored outings, fabulous rooftop parties, and coworkers who are also great friends). Located in downtown Manhattan, we foster a happy, healthy work environment where a free exchange of ideas is encouraged. Ideal candidates thrive in our do‐it‐yourself, entrepreneurial atmosphere. While we work hard, we always have time for a board game, a round of poker, or a break on our garden roof deck.
Interested in Lime Wire? We look forward to hearing from you.
Add comment Abril 22, 2009
Vagas de Emprego – Brasil
ATENÇÃO – VAGAS DISPONÍVEIS NO YAHOO GRUPOS PHP-EMPREGOS
http://br.groups.yahoo.com/group/php-empregos/
Procuro programador PHP freelancer para ajudar no desenvolvimento de um site.
Será necessário 2 dias por semana de trabalho no meu escritório, os demais o freelancer deverá trabalhar de home office ou do local que ele preferir.
Interessados por favor enviem e-mail para
tiago.carvalho@ comunicageral. com.br com CV, pretensão salarial e links de sites já realizados.
Incluso Vale Refeição.
Localização : Moema Zona Sul de São Paulo
Tiago
Diretor RH Comunica Geral
————————————————————————
A Bizplace, sediada em São José/SC, empresa de desenvolvimento e posicionamento Web.
Contrata, para início imediato, em regime de estágio/freelancer (10 a 20 Horas/semana) . Parte dessas horas devem ser cumpridas na Empresa (horários a combinar).
> PROGRAMADOR WEB
Requisitos:
- Domínio da linguagem PHP orientada a objeto;
- Javascript;
- MySql;
Conhecimentos diferenciais:
- CSS;
- Actionscript;
- Frameworks (Zend, entre outros);
- Ferramentas CMS (Joomla, entre outros);
- Otimização para Mecanismos de Busca.
Remuneração: A combinar (conforme carga horária).
Maiores informações, entrar em contato através dos telefones: ![]()

![]()
![]()

![]()
![]()
![]()
![]()
![]()
![]()
(48)3343-7800
/ ![]()

![]()
![]()

![]()
![]()
![]()
![]()
![]()
![]()
(48)3343-7888
ou dos e-mails: vagas.bizplace@ gmail.com ou vagas.bizplace@ yahoo.com. br
Add comment Abril 22, 2009
Oracle compra Sun por US$ 7,4 bilhões
A Oracle comprou a desenvolvedora do Java e fabricante de servidores para empresas Sun Microsystems por 7,4 bilhões de dólares, impulsionando a desenvolvedora de softwares corporativos no setor de hardware.
A Oracle, que está no mercado de banco de dados e de aplicações comerciais (conhecidas pela sigla ERP), pagará 9,5 dólares por ação em dinheiro para a Sun, de acordo com a Oracle, aumento de 42% em relação ao preço do seu fechamento na sexta-feira (17/04).
http://idgnow.uol.com.br/mercado/2009/04/20/oracle-compra-sun-por-us-7-4-bilhoes/
Add comment Abril 21, 2009
Evitando SQL Injection com PHP
SQL injection é uma técnica de introduzir (injetar) instruções SQL em entradas de usuário – entenda entradas de usuário como qualquer variável que possa ser manipulada pelo mesmo como variáveis POST e GET.
Como funciona na prática
$query = " SELECT * FROM USUARIOS WHERE login = ";
$query.= " '{$_POST['login']}' AND senha = '{$_POST['senha']}' ";
$res = mysql_query($query);
if( mysql_num_rows($res) ) {
echo "Login efetuado com sucesso!";
}else{
echo "Login e/ou senha incorreto(s)";
}
No código acima, caso o usuário informa no campo login a entrada: blablabla’ or 0=0 – e qualquer valor no campo senha o resultado da query será:
SELECT * FROM USUARIOS WHERE login = ‘blablabla’ or 0=0 –’ AND senha = ’senhainvalida’;
A mágica está no trecho ‘ or 0=0 – que faz com que seja listado todo conteúdo da tabela USUARIOS já que a consulta busca os usuários cujo o login seja ‘blablabla’ ou que zero seja igual a zero. Zero sempre será igual a zero e assim todo conteúdo é retornado. Mas e a senha? A senha é ignorada já que após a comparação é adicionado o caracter de comentário e tudo a partir dali é ignorado
.
Outro problema nesse código é a forma como o usuário é válidado.
if( mysql_num_rows($res) ) {
echo "Login efetuado com sucesso!";
}else{
echo "Login e/ou senha incorreto(s)";
}
A instrução checa apenas se alguma linha foi retornada na consulta. Como vimos antes, todo conteúdo da tabela USUARIOS é retornado e o primeiro usuário retornado na consulta é que será o felizardo a contemplar o invasor com seus dados.
Proteger-se com mysql_real_scape_string() e addslashes()
Essa é a forma mais básica e simples de contornar o problema. Basta chamar uma das duas funções para “escapar” a entrada do usuário.
$_POST['login'] = addslashes($_POST['login']);
$_POST['senha'] = addslashes($_POST['senha']);
$query = " SELECT * FROM USUARIOS WHERE login = '{$_POST['login']}'";
$query.= " AND senha = '{$_POST['senha']}' ";
Ou
$_POST['login'] = mysql_real_escape_string($_POST['login']);
$_POST['senha'] = mysql_real_escape_string($_POST['senha']);
$query = " SELECT * FROM USUARIOS WHERE login = '{$_POST['login']}'";
$query.= " AND senha = '{$_POST['senha']}' ";
As funções irão adicionar um slash (“\”) na aspa simples.
SELECT * FROM USUARIOS WHERE login = ‘blablabla\’ or 0=0 –’ AND senha = ’senhainvalida’;
Todo conteúdo entre aspa simples será interpretado como esperado, como um login de usuário.
Se magic_quotes_gpc estiver ativo no PHP (que é configuração padrão) o escape de cookies, post e get é feito automáticamente.
Usando Prepared Statement
Prepared statement automaticamente faz o escape nos valores de entrada e ajustam corretamente o tipo de dado.
$conexao = new mysqli('localhost','usuario','senha','banco');
$stm = $conexao->prepare("SELECT * FROM USUARIOS WHERE login = ? AND senha = ?");
$stm->bind_param("ss", $_POST['login'], $_POST['senha']);
$stm->execute();
if( $stm->affected_rows ){
echo "Login efetuado com sucesso!";
}else{
echo "Login e/ou senha incorreto(s)";
}
$stm->close();
Boas práticas
- O usuário de acesso ao banco deve ter seu acesso limitado em nível de acesso e à objetos que ele realmente precisa.
- Use senhas criptografadas
- Não confie em nenhuma entrada de usuário
- Evite validar o usuário através do número de linhas que retorna da consulta
Evite o código abaixo:
if( $stm->affected_rows ) {
echo "Usuário autenticado com sucesso!";
}
Use a forma a seguir:
$conexao = new mysqli('localhost','usuario','senha','banco');
$stm = $conexao->prepare("SELECT senha FROM USUARIOS WHERE login = ?");
$stm->bind_param("s", $_POST['login']);
$stm->execute();
$senha = "";
$stm->bind_result($senha);
if( $stm->fetch() ){
if( $senha == crypt($_POST['senha'],"td") ){
echo "Usuário autenticado com sucesso!";
exit();
}
}
echo "Usuário e/ou senha inválidos";
$stm->close();
Até o próximo post
Add comment Abril 21, 2009