OWF
TWF
Introdução
A TWF (TecPorto Web Framework) é uma framework destinada à criação de aplicações Web em PHP, através de um modelo orientado a objectos com MVC (Model-View-Controller), separando a camada de apresentação da camada de negócio. Usa, ou facilita o uso, das seguintes linguagens ou tecnologias:
- PHP 5+
- MySQL/MariaDB
- Javascript
- XSLT
- XML
- CSS
Model-View-Controller
A TWF foi preparada para facilitar na construção de sites ou aplicações web em que a camada de negócio está isolada da camada de apresentação.
Na camada de negócio, o programador pode definir métodos executáveis local ou remotamente, que, no final da sua execução, devolverão o resultado num de vários formatos possíveis (como, por exemplo, XML, JSON, texto puro, objecto binário).
A camada de apresentação exporta o interface de interacção com o utilizador final que geralmente é definido usando uma combinação de XSLT (XML Stylesheet Transformations), (X)HTML e CSS. As informações que preenchem o interface são provenientes do resultado da execução das funções e métodos na camada de negócio.
Segurança
A TWF oferece ou facilita a aplicação de algumas medidas de segurança básicas para a construção de sites e aplicações web, entre as quais:
- classes e métodos adicionais (para usar em conjunto com as classes PDO do PHP), que tornam mais fácil a adopção e uso de prepared statements, ajudando a evitar ataques de injecção de SQL de primeira ordem.
- métodos de autenticação de utilizadores com base na combinação de nome de utilizador e palavra-chave (nomeadamente usando HMAC-SHA1, futuramente a ser actualizado para HMAC-SHA256).
- organização orientada a objectos da estrutura da base de dados-
- sistema de definição de permissões que inclui tipos de permissões, papéis (roles) e privilégios.
- definição do conceito de namespaces na organização dos vários objectos guardados na base de dados-
- identificação dos métodos chamáveis remotamente e respectivos parâmetros, bem como formas de análise antecipada do valor dos parâmetros (parameter sanitation), utilizando funções auxiliares ou expressões regulares, que permite evitar ataques de injecção de código.