ricna.net 0 Denunciar post Postado Janeiro 17, 2010 Pessoal!Estou a um bom tempo desenvolvendo uma sistema em PHP e agora quero vender uma parte dele como se fosse uma API. Ela seria bem independente pois ela trabalharia somente com banco de dados e com chamadas a outro sistema. O usuário poderia criar o layout que quisesse para mostrar as informações geradas pela API... Bueno, o que importa mesmo é que não quero que o comprador veja o código fonte e fiz tudo, obviamente, em PHP. Ja procurei por 'ofuscadores de código': http://www.sourceguardian.com/ http://www.ioncube.com/sa_encoder.php?us http://www.zend.com/products/guard/ e compiladores de PHP que geram CGI: http://code.roadsend.com/rphp <- GOSTEI DESSE MAS SÓ CONSEGUI GERAR O CGI PARA SERVIDOR WINDOWS. O que quero é simplesmente pegar UM (1) arquivo PHP e transformar ele em uma "rocha" que não possa ser jamais quebrada (tá bom, exagerei). Só não quero passar um código PHP para o 1° cliente e depois ver minha 'API' sendo postada em blogs, fóruns e distribuída livremente. Vou cobrar mensalidade do usuário e para isso a API deverá obter autorização através de socket. Se estiver com código aberto já era a mensalidade. Alguém aqui vende programas em PHP com código FECHADO. Obs: Estes ofuscadores me parecem 'problemáticos', encontrei informações relatando bug com isso ou aquilo. E o Roadsend não sonsegui testar, e que queria a opinião de alguém que use, se vale a pena fazer isso. Segunda opção (que já estou começando). Desenvolver a API em outra linguagem. E aí? O que fazer com esse tal de PHP. Já estou arrependido de não ter usado Java desde o início. Só quero ganhar meu pão com esse código e não consigo fechar ele!!? Alguém me ajude, por favor! Pelo menos para dizer: "Faça em outra linguagem, vai perder seu tempo tentando ter segurança de código fonte PHP", ou..: "Use o Zend, uso ele há anos e é excelente para isso" Por favor me ajudem, preciso vender isso logo! Desde já meu muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Janeiro 17, 2010 Olha, a minha sugestão não tem nada a ver com estas que você colocou. Faça o seguinte. Coloque a API no SEU servidor (ou hospedagem contratada por você), trabalhando com subdomínio (www.usuario.seudominio.com.br) ou www.seudominio.com.br/usuario. Como o sistema vai estar no seu domínio, não precisa se preocupar com o fonte dele. Outra sugestão é criar um contrato com cada cliente de que o código não é dele e que ele não pode efetuar modificação no código, nem disponibilizar, sob pena de MULTA altíssima. Isto terá validade caso o mesmo disponibilize o código. Acho que com uma destas duas atitudes (preferencialmente a primeira), você não corre risco. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ricna.net 0 Denunciar post Postado Janeiro 17, 2010 Muito obrigado pela atenção Carlos. Estou considerando as as possibilidades apesar dos seguintes problemas: Quanto a 1ª sugestão (API no meu servidor): Colocando no meu servidor (pago um servidor compartilhado) terei problemas de processamento no MySQL, que já venho enfrentando devido ao imenso números de consultas indispensáveis para funcionamento do sistema. Quhnato a 2ª sugestão (contrato): Meus clientes serão em maioria de outros países como EUA, Alemanha, França e Japão. Criar um contrato será um empecilho burocrático que poderá se tornar inviável. De qualquer forma fico contente com sua resposta e estou considerando. Mais sugestões serão muito bem-vindas. Obrigado. ... nada? Então PHP só se for opensource? Java! lá vamos nós! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Janeiro 18, 2010 Olha, a questão de usar Java... Eu não conheço muito de Java, mas acredito que existam compiladores que fazem a engenharia reversa do código. Se o cara quiser mesmo repassar o seu code, não vai ser o fato de ser escrito em Java ou qualquer outra linguagem que vai fazer a diferença. Ainda acho que a melhor idéia é manter tudo em seu poder (provedor) e disponibilizar acesso. Se está sobrecarregando o sistema, provavelmente as consultas não estão otimizadas. Tente rever isto. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ricna.net 0 Denunciar post Postado Janeiro 18, 2010 Olha, a questão de usar Java... Eu não conheço muito de Java, mas acredito que existam compiladores que fazem a engenharia reversa do código. Se o cara quiser mesmo repassar o seu code, não vai ser o fato de ser escrito em Java ou qualquer outra linguagem que vai fazer a diferença. Ainda acho que a melhor idéia é manter tudo em seu poder (provedor) e disponibilizar acesso. Se está sobrecarregando o sistema, provavelmente as consultas não estão otimizadas. Tente rever isto. Carlos Eduardo Com certeza que existe maneira de fazer engenharia reversa em .class ou .exe ou qualquer coisa. Porém isso é trabalhoso, demorado e não é qualquer um que vai ter disposição, tempo e paciência para fazer isso. Considerando um programa em C++ por exemplo: Entregar o .exe é muito diferente do que entregar o .exe junto com o código fonte em .cpp. Com PHP qualquer leigo pode fazer a festa, se não tem como fechar o código. Quanto ao servidor sobrecarregado... As consultas estão otimizadas. O problema é que são necessários muitos updates a cada segundo, em tabelas razoavelmente grandes. O servidor é compartilhado e o pessoal já quis me bloquear por causa disso. Teria que ter um dedicado para não ter problema. E mesmo assim eu não quero colocar no meu servidor, só quero vender um programa. É que nunca fiz nada em PHP para vender, mas sempre o usei para criar sistemas na WEB. Gosto de PHP, mas estou achando muito complicado de achar uma solução ideal para vender algo usando essa linguagem. Desenvolvo geralmente em Java ou Delphi e nunca esquentei a cabeça em passar programa para alguém. Mas se tivesse que passar o código fonte desses programas para que eles funcionassem na máquina do cliente, também acharia péssimo. Espero que exista uma solução, todavia já estou migrando para JSP (apesar do problema de ter servidor 'especial' para Java). Jamais imaginei encontrar tamanho problema para simplesmente vender um software sem código fonte. Ah, considerei estudar Perl pu Python. Na verdade comecei a estudar as duas para comparar. Se alguém puder me idica qual a mais segura interessante para não ter esse mesmo problema que o PHP nos oferece. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Janeiro 18, 2010 Você pode usar a primeira alternativa postada pelo Matias em conjunto com a criação de um serviço. Assim, os códigos-fonte ficam no seu servidor (codificao e obfuscado ou não) e, através de um URL de... invocação? do/ao serviço você faz as consultas necessárias ao banco ou executa as rotinas ecessárias e retorna um XML para o cliente. O cliente faz o que quiser com o XML: lê, imprime, converte para array e imprime no template... Quanto à segurança, nesse esquema de URL do serviço, você pode aceitar apenas requisições POST e exigir que a licença de uso seja enviada SEMPRE para o serviço. E, antes de exibir o XML, verifica a integridade das informações, principal, mas não exclusivamente da chave de licença. E pra cada erro que o sistema encontrar, você retorna um XML diferente: Ausência de parãmero (no POST), licença inválida, informações corrompidas... Eu faço assim com um sistema de atualizações de um sistema. Não posso garantir que é viável pois estou terminando ele. Mas não vejo porquê não. Compartilhar este post Link para o post Compartilhar em outros sites
ricna.net 0 Denunciar post Postado Janeiro 18, 2010 Você pode usar a primeira alternativa postada pelo Matias em conjunto com a criação de um serviço. Assim, os códigos-fonte ficam no seu servidor .... Antes de mais nada, obrigado pela atenção. Mas é o seguinte, como coloquei anteriormente, eu não quero colocar um serviço no meu servidor peincipalmente por causa da inviabilidade de processamentro no caso de muitos clientes. Além disso os clientes deverão ter em seus servidores a API (que agora no caso seriam arquivos PHP) e assim poderão alterar toda a interface. A API é somente um conjunto de funções que recebem parâmetros de outro sistema e manipulam o banco de dados. Por exemplo, alterando dados de uma tabela chamada produtos. Como os produtos serão apresentados, isso é problema do cliente, ele fará a interface para isso. Novamente, não quero colocar 'as coisas' do cliente no meu servidor, só quero passar para ele um programa feito em PHP sem que ele veja o código fonte. Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Janeiro 18, 2010 Olha, não sei se funciona, nunca usei, mas foi sugerido neste post uma possível solução para o seu problema. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Stewan Pacheco 0 Denunciar post Postado Fevereiro 17, 2010 Você pode usar a primeira alternativa postada pelo Matias em conjunto com a criação de um serviço. Assim, os códigos-fonte ficam no seu servidor .... Antes de mais nada, obrigado pela atenção. Mas é o seguinte, como coloquei anteriormente, eu não quero colocar um serviço no meu servidor peincipalmente por causa da inviabilidade de processamentro no caso de muitos clientes. Além disso os clientes deverão ter em seus servidores a API (que agora no caso seriam arquivos PHP) e assim poderão alterar toda a interface. A API é somente um conjunto de funções que recebem parâmetros de outro sistema e manipulam o banco de dados. Por exemplo, alterando dados de uma tabela chamada produtos. Como os produtos serão apresentados, isso é problema do cliente, ele fará a interface para isso. Novamente, não quero colocar 'as coisas' do cliente no meu servidor, só quero passar para ele um programa feito em PHP sem que ele veja o código fonte. Abraço! Caro amigo, a minha sugestão seria você utilizar servidor dedicado e desenvolver uma API liberando requisições para os clients. ou Desenvolver em uma espécie de framework separando o codigo do visual (ex. PHP Smarty) dessa forma poderia compilar os arquivos php com ioncube e deixar aberto os arquivos .tpl (template, design) assim poderia entregar todos arquivos pro cliente, o sistema seria tipo o WHMCS (poderoso administrador de webhost). bom espero ter contribuido. Saudações, Stewan. Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Fevereiro 17, 2010 eu iria sugerir um webservice, esta na moda e eh super simples, muita gente fala em soap, nu soap, eu achei facil o rest....e nao requer muita programacao avançada nao.... Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Fevereiro 17, 2010 segue um link pra você dar uma conferida... http://www.forumweb.com.br/artigo/9/php/usando-a-biblioteca-curl-no-php-para-trabalhar-com-recursos-remotos http://rsrocha.wordpress.com/2008/08/20/webservices-com-rest-e-php/ Compartilhar este post Link para o post Compartilhar em outros sites