PHPBB e https

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Immagini esterne e https

Messaggio da ZeroUno »

quello che intendevo... ma a voi compaiono popup che lo dicono?
Su chromium compare un piccolo triangolino giallo sull'icona del lucchetto, su firefox solo se vado a cliccare su informazioni sulla pagina.

un conto invece è che ti compare un messaggio in rosso ogni volta che ti dice "la pagina è cifrata ma potrebbe essere non sicura" (scomodo tra l'altro perchè devi cliccare ogni volta, con chromium, 'si ok vai avanti lo stesso', e non è l'ideale per chi se la imposta come home), un conto è che ti compare che la pagina contiene oggetti che protetti o non protetti sono comunque esterni a slacky.

Piuttosto, ora compare il problema dei link interni al forum.
Io entro e navigo in https.
come vado a cliccare su
viewtopic.php?f=2&t=35567
mi rimanda ad una pagina http.
La soluzione al problema non la conosco.

edit: il problema degli oggetti esterni poi non è solo delle firme, ma anche di eventuali screenshot che carico per esempio su imageshack e linko quì.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Immagini esterne e https

Messaggio da conraid »

Lo so che è anche di eventuale allegati, ma le firme sono molte, gli allegati ogni tanto.

La soluzione al problema è usare link relativi invece che assoluti (ma bbcode non li accetta), o forzare https in qualche modo :-)

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Immagini esterne e https

Messaggio da ZeroUno »

conraid ha scritto:La soluzione al problema è usare link relativi invece che assoluti (ma bbcode non li accetta)
Tuttavia il parser riconosce e trasforma automaticamente:

Codice: Seleziona tutto

http://www.slacky.eu/forum/viewtopic.php?f=2&t=35567
(messo senza bbcode) in

Codice: Seleziona tutto

<a class="postlink-local" href="http://www.slacky.eu/forum/viewtopic.php?f=2&t=35567">viewtopic.php?f=2&t=35567</a>
anzichè

Codice: Seleziona tutto

<a class="postlink" href="http://www.slacky.eu/forum/viewtopic.php?f=2&t=35567">http://www.slacky.eu/forum/viewtopic.php?f=2&t=35567</a>
ma solo se sei in http.

lo fa in includes/functions_content.php

Codice: Seleziona tutto

function make_clickable($text, $server_url = false, $class = 'postlink')
{
        if ($server_url === false)
        {
                $server_url = generate_board_url();
        }
...
                // relative urls for this board
                $magic_url_match[] = '#(^|[\n\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ie';
                $magic_url_replace[] = "make_clickable_callback(MAGIC_URL_LOCAL, '\$1', '\$2', '\$3', '$local_class')";
Secondo me (ma al momento non credo di aver occasione di provare) si risolve cambiando quanto sopra in:

Codice: Seleziona tutto

function make_clickable($text, $server_url = false, $class = 'postlink')
{
        if ($server_url === false)
        {
                $server_url = "http://www.slacky.eu/forum"; // forza il parse di http anche se siamo in https
        }
...
                // relative urls for this board
                $magic_url_match[] = '#(^|[\n\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ie';
                $magic_url_replace[] = "make_clickable_callback(MAGIC_URL_LOCAL, '\$1', '\$3', '\$3', '$local_class')"; //modificato 2 in 3
Certo, non è bello mettere mano al codice, ma al momento vedo questo.

Comunque io non disattiverei le firme, a meno che non compaiano popup.
Al limite disabiliterei le immagini nelle firme (e non sarebbe male come idea; in questo forum ci si contiene; in altri forum vedi firme con immagini di anche 20-30 centimetri di altezza se non più)
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Immagini esterne e https

Messaggio da conraid »

ZeroUno ha scritto: Al limite disabiliterei le immagini nelle firme (e non sarebbe male come idea; in questo forum ci si contiene; in altri forum vedi firme con immagini di anche 20-30 centimetri di altezza se non più)
è esattamente quel che vogliamo fare, le firme non saranno disattivate, ma solo "cancellate". Questo perché non abbiamo trovato il modo per cancellare le vecchie immagini. Già adesso non è possibile inserirle, ma le vecchie rimangono. Se trovi una soluzione, come dice Loris, ben venga...

ora provo quel codice, ma... non volevo ne forzare http ne forzare https, ma lasciare un link relativo, in modo che sia automatico https o http

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Immagini esterne e https

Messaggio da ZeroUno »

conraid ha scritto:Questo perché non abbiamo trovato il modo per cancellare le vecchie immagini. Se trovi una soluzione, come dice Loris, ben venga...
Una a una a manina nel database :-D
ora provo quel codice, ma... non volevo ne forzare http ne forzare https, ma lasciare un link relativo, in modo che sia automatico https o http
Quel pezzo di codice forza indirizzi relativi. L'inibizione di https (o meglio, trasformazione automatica in http) l'avete già fatta, quindi in fase di parsing è possibile trovare solamente

Codice: Seleziona tutto

http://www.slacky.eu/forum
. Questo è quello che forzi a cercare in

Codice: Seleziona tutto

$server_url = "http://www.slacky.eu/forum";
. Invece con

Codice: Seleziona tutto

$server_url = generate_board_url();
il parser (in fase di stampa della pagina, non in fase di insert) andrebbe a trasformare in relativi quelli che cominciano per http o https a seconda di come stai navigando.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Immagini esterne e https

Messaggio da conraid »

Quel pezzo di codice trasforma solo quel che viene visualizzato, non il link in relativo, in pratica
<a href="url_assoluto">url_relativo</a>
stavo cercando di modificare, ma non mi prende le modifiche (ma non trovo nemmeno cache da rigenerare)

per esempio ora $server_url è "pippo", ma qui tutto come prima

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Immagini esterne e https

Messaggio da ZeroUno »

Guarda, sinceramente io non l'ho provato ma mi sono fidato solo dell'output di qualche grep a destra e manca. Magari faccio qualche prova e ti faccio sapere.

edit: hai ragione... ho fatto un test. Al momento quella funzione mi viene lanciata solo se premo sul pulsante "Anteprima" nella scrittura del post, e come si comporti non lo so. Ma mi sembra strano.
Faccio altre prove e ti faccio sapere.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Immagini esterne e https

Messaggio da conraid »

comunque sembra che prima esegue quel filtro e poi la censura, quindi andrebbe anche cambiato l'ordine. Boh, non so quanto utile.
Volevo forzare https ai soli che usano https, tramite mod_rewrite, ma non ci sono riuscito. Quale RewriteCond devo mettere?
HTTPS=on me la prende sempre, mentre funziona a rovescio con HTTPS!=on

comunque stiamo andando OT, meglio tornare all'origine, cioè al primo messaggio di Loris, magari di questo parliamo in altro topic.
Anzi, ora divido

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Immagini esterne e https

Messaggio da ZeroUno »

ok.
fammi sapere quando/dove dividi perchè nei test ho scoperto altre cose brutte :-(
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

PHPBB e https

Messaggio da conraid »

Discussione nata per riprendere un OT in altra discussione.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: PHPBB e https

Messaggio da ZeroUno »

Allora, una toppa l'ho fatta, ma è una toppa che non so quanto può andare.
1) impatta esclusivamente i post e solo se visualizzati con viewtopic.php (quindi no messaggi privati, perchè il problema è esteso anchelì, no nelle firme, no nella scrittura e anteprima ecc).
2) impatta anche ciò che metto nei bbcode [ code ]...[ /code ]
Al momento serve solo per rendere l'idea; poi va sviluppata; ma almeno per questa mattina non credo di avere ulteriore tempo a disposizione per lavorarci.

Comunque la modifica attuale è:
in viewtopic.php sostituire:

Codice: Seleziona tutto

                'MESSAGE'                       => $message,
con

Codice: Seleziona tutto

                'MESSAGE'                     => str_ireplace('http://www.slacky.eu/forum/','',$message),
o, per limitare all'url in < a href="http:... > e non a quanto visualizzato (se per esempio uso [ url ]http:....[ /url ]

Codice: Seleziona tutto

                'MESSAGE'                     => str_ireplace('href="http://www.slacky.eu/forum/','href="',$message),
o, più sicuro e riguardante anche https

Codice: Seleziona tutto

                'MESSAGE'                     => preg_replace('/(<a[^>]*href=")https?:\/\/www\.slacky\.eu\/forum\//([^>]*>)/i','$1$2',$message),
Questa è solo una idea.
Andrebbe sostituita piuttosto mettendo qualcosa di simile nel post-parser (quella inviata precedentemente era nel pre-parser e modificava quanto inserito nel db). Il problema è che gli url con < a href=... > sono già salvati così dentro il database se non messi nel bbcode e parzialmente parsati successivamente.

Per quanto riguarda il modrewrite condizionato dovrebbe essere possibile.
Se non erro in httpd.conf dovrebbe essere fattibile l'impostazione di una variabile di ambiente a seconda di alcune combinazioni, tra cui anche quella, credo, di 'porta utilizzata' e poi il modrewrite condizionato a tale variabile.
Oppure mettere il modrewrite dentro la sezione virtualhost dedicato all'ssl
<virtualhost *:443>
...
rewriteengine ....
...
</virtualhost>
(suppongo sia questa la configurazione utilizzata)


Ma come dicevo credo che almeno stamani non avrò altro tempo per lavorarci.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: PHPBB e https

Messaggio da conraid »

Guarda se così secondo te va bene.
preg_replace mi dava molti errori, anche mettendo cose banali, quindi ho usato str_replace con un array

Codice: Seleziona tutto

$url_slacky = array('http://www.slacky.eu/forum/','https://www.slacky.eu/forum/');
[ ... ]
'MESSAGE'                     => str_ireplace($url_slacky, "", $message),
va in "post", non in pre, nel db inserisce l'url, come vedi infatti mi censura i due link anche in

Codice: Seleziona tutto

 :D

usa CITA per vedere il codice :-)

comunque è
$url_slacky = array('h_t_t_p://www.slacky.eu/forum/','h_t_t_p_s://www.slacky.eu/forum/');
senza _

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: PHPBB e https

Messaggio da ZeroUno »

Che problemi ti dava il preg_replace? Quello risolveva il problema del [ code ].

oppure

Codice: Seleziona tutto

'MESSAGE' => str_ireplace('<!-- l --><a class="postlink-local" href="h_ttp://www.slacky.eu/forum/', '<!-- l --><a class="postlink-local" href="', $message),
questo risolve solo i link scritti con
h_ttp://www.slacky.eu/forum/viewtopic.... e non quelli con il bbcode.

non è necessario specificare anche https perchè c'è il filtro che lo corregge automaticamente prima di inserirlo nel db se non erro.

Ma la soluzione con preg era la migliore.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: PHPBB e https

Messaggio da conraid »

no, il filtro funziona in "visualizzazione", non in inserimento nel db, e volevamo anche toglierlo prima o poi

per il bbcode: ma viene usato per i link interni? boh...
comunque dava errori phpbb_debug, dopo riprovo con calma

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: PHPBB e https

Messaggio da conraid »


Rispondi