Pagina 1 di 2
Re: Immagini esterne e https
Inviato: mar 3 apr 2012, 15:59
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ì.
Re: Immagini esterne e https
Inviato: mar 3 apr 2012, 16:15
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

Re: Immagini esterne e https
Inviato: mar 3 apr 2012, 16:49
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ù)
Re: Immagini esterne e https
Inviato: mar 3 apr 2012, 16:53
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
Re: Immagini esterne e https
Inviato: mar 3 apr 2012, 17:43
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
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
. Questo è quello che forzi a cercare in
. Invece con
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.
Re: Immagini esterne e https
Inviato: mar 3 apr 2012, 17:52
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
Re: Immagini esterne e https
Inviato: mer 4 apr 2012, 9:38
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.
Re: Immagini esterne e https
Inviato: mer 4 apr 2012, 9:54
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
Re: Immagini esterne e https
Inviato: mer 4 apr 2012, 9:57
da ZeroUno
ok.
fammi sapere quando/dove dividi perchè nei test ho scoperto altre cose brutte

PHPBB e https
Inviato: mer 4 apr 2012, 10:00
da conraid
Discussione nata per riprendere un OT in altra discussione.
Re: PHPBB e https
Inviato: mer 4 apr 2012, 10:58
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:
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.
Re: PHPBB e https
Inviato: mer 4 apr 2012, 12:11
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 _
Re: PHPBB e https
Inviato: mer 4 apr 2012, 13:55
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.
Re: PHPBB e https
Inviato: mer 4 apr 2012, 14:08
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
Re: PHPBB e https
Inviato: mer 4 apr 2012, 14:11
da conraid