[spip-dev] v1-8b2 : url rewriting ?

Salut,

J'essaie d'activer l'url rewriting sur une v1-8b2.

1/ Je modifie le nom du htaccess choisi :
        htaccess-html.txt -> .htaccess

2 / Je crée un fichier mes_fonctions.php3 dans le répertoire racine avec
comme contenu
    <?
        $type_urls='html';
    ?>

3 / Je redémarre le tout... et rien...

J'ai oublié quelque chose ?

Merci

Suite de la discution commencée sur la liste User...

En fait, en spécifiant $type_urls dans inc-url.php3 (créé car absent du
package v1-8b2) -> ça marche

En spécifiant $type_urls dans mes_fonctions.php3 ou mes_options.php3 -> rien
chez moi

"Patate" <bobdeo@hotmail.com> a écrit dans le message de
news:cjr2v6$ho3$1@sea.gmane.org...

salut à tous

Suite de la discution commencée sur la liste User...

En fait, en spécifiant $type_urls dans inc-url.php3 (créé car absent du
package v1-8b2) -> ça marche

pareil, absent chez moi

En spécifiant $type_urls dans mes_fonctions.php3 ou mes_options.php3 -> rien
chez moi

mais il est dit qu'on doit utiliser mes_options. Alors, que faire ?

enfin, sur ma vrsion 1.8b2, j'ai pas de htacces-html ou alors je cherche mal

conclusion, en partant d'un fichier vierge, que dois-je mettre dans .htacces ?

@+

Selon toufou <mathieu.betton@free.fr>:

salut à tous

> Suite de la discution commencée sur la liste User...
>
> En fait, en spécifiant $type_urls dans inc-url.php3 (créé car absent du
> package v1-8b2) -> ça marche
>

pareil, absent chez moi

> En spécifiant $type_urls dans mes_fonctions.php3 ou mes_options.php3 ->
rien
> chez moi
>

mais il est dit qu'on doit utiliser mes_options. Alors, que faire ?

enfin, sur ma vrsion 1.8b2, j'ai pas de htacces-html ou alors je cherche mal

conclusion, en partant d'un fichier vierge, que dois-je mettre dans
.htacces ?

@+

sur le cvs (login cvs, pass cvs)

http://www.spip.net/spip-cvs/spip/htaccess-html.txt?cvsroot=SPIP

http://www.spip.net/spip-cvs/spip/htaccess-propres.txt?cvsroot=SPIP

c'est selon ce que tu mettras comme type d'url :wink:

Ok pour les fichiers...

Par contre ça ne fonctionne pas lorsque l'on specifie la réécriture dans
mes_options ou mes_fonctions...

"Patate" <bobdeo@hotmail.com> a écrit dans le message de
news:cjr853$v5n$1@sea.gmane.org...

Suite de la discution commencée sur la liste User...

En fait, en spécifiant $type_urls dans inc-url.php3 (créé car absent du
package v1-8b2) -> ça marche

En spécifiant $type_urls dans mes_fonctions.php3 ou mes_options.php3 ->

rien

hugh

sur le cvs (login cvs, pass cvs)

http://www.spip.net/spip-cvs/spip/htaccess-html.txt?cvsroot=SPIP

http://www.spip.net/spip-cvs/spip/htaccess-propres.txt?cvsroot=SPIP

c'est selon ce que tu mettras comme type d'url :wink:

euh, je suis neuneu moi et là tu me facilites pas la tâche :wink:

je fais quoi, je copie dans mon htacces les trois lignes sans les commentaires ? exemple pour avoir des urls propres:

backport lab Urlspropres
backport lab <div>
backport lab <strong>

et c'est tout ? ou c'est pas ça du tout

@+

Selon toufou <mathieu.betton@free.fr>:

hugh
>
> sur le cvs (login cvs, pass cvs)
>
> http://www.spip.net/spip-cvs/spip/htaccess-html.txt?cvsroot=SPIP
>
> http://www.spip.net/spip-cvs/spip/htaccess-propres.txt?cvsroot=SPIP
>
> c'est selon ce que tu mettras comme type d'url :wink:
>

euh, je suis neuneu moi et là tu me facilites pas la tâche :wink:

je fais quoi, je copie dans mon htacces les trois lignes sans les
commentaires ? exemple pour avoir des urls propres:

backport lab Urlspropres
backport lab <div>
backport lab <strong>

et c'est tout ? ou c'est pas ça du tout

désolé :wink:

si tu cliques sur le lien download tu te retrouves à cette page :

http://www.spip.net/spip-cvs/~checkout~/spip/htaccess-html.txt?rev=1.1;content-type=text%2Fplain;cvsroot=SPIP

et là, tu aura le contenu à mettre dans ton fichier .htaccess (le lien
ci-dessus, c'est pour le type 'html'

pour le type 'propres' :

http://www.spip.net/spip-cvs/~checkout~/spip/htaccess-propres.txt?rev=1.1;content-type=text%2Fplain;cvsroot=SPIP

normalement, tu as surement récupérer ces fichiers en téléchargeant la version
beta...

exemple : renomme le fichier htaccess-propores.txt qui se trouve à la racine de
ton site en .htaccess, ça devrait être bon.

Hello,
suite à des petits essais pour modifier la gestion des formulaire du lab,
j'ai vu 2 ou 3 petites choses dans le code :

J'ai voulu, inserer le formulaire de login dans certains cas "dans le texte"
de l'article.
OK, c'est tordu mais bon ...
Premier probleme : la fonction login fait directement les echos.
j'ai modifié la fonction pour qu'elle renvoie le texte au lieu de l'afficher
et fait les modifs pour les appels (dans inc_balise et inc_forum : echo
login(... au lieu de login( ...)
Au passage, dans inc_forum, l'appel est fait avec login(new Link("' . $url .
'"), false, true); alors que c'est plutot login($cible, 'public') qui est
attendu.

Tout semble très bien fonctionner comme ca, mais ca ne resout pas
completement mon probleme
les javascripts sont sucrés pas la sécurité (<script remplacés par

&lt;script).

Ce que je ne comprend pas, c'est qu'en mettant un filtre
supprimer_la_securite, ben ca ne marche pas mieux.

il y a eu du mouvement, des post traitements rajoutés ... ???
J'ai meme rajouté un test, le filtre est bien appliqué, mais le <script est
à nouveau remplacé après !
qqun a une idée ?

Pour les modifs faites sur login, vous en pensez quoi ?

Tout semble très bien fonctionner comme ca, mais ca ne resout pas
completement mon probleme
les javascripts sont sucrés pas la sécurité (<script remplacés par

<script).

Ce que je ne comprend pas, c'est qu'en mettant un filtre
supprimer_la_securite, ben ca ne marche pas mieux.

Oui, c'est normal. (ça doit être la cinquantième fois que quelqu'un pose
cette question, il va falloir faire une FAQ)

La sécurité est appliquée après *tous* les filtres, même les filtres
utilisateurs appelés dans les squelettes.
La raison est simple : n'importe quel filtre, et en particulier les
filtres conçus par des webmestres peu expérimentés, peut contenir des
failles laissant les visiteurs exécuter du code PHP.

Exemple : prenons un filtre supprimant les commentaires HTML. Ainsi ce
filtre transforme un :
   blabla <!-- commentaire --> blabla
en :
   blabla blabla

Si SPIP n'appliquait pas sa sécurité *après* le filtre mais avant, un
rédacteur (dans un article) ou un visiteur (dans un forum) pourrait taper
:

  <<!-- -->?php mysql_query("DELETE FROM spip_articles"); ?>

qui ne serait pas détecté par la sécurité de SPIP, mais serait transformé
à la fin en :

  <?php mysql_query("DELETE FROM spip_articles"); ?>

Il est évident de voir que n'importe quel filtre de plus de trois lignes
contient des tas d'exploitations potentielles de ce genre. Bref, il est
*impératif* que la sécurité vienne toujours tout à la fin. Si tu penses
que tes filtres sont sûrs (hum hum), tu peux patcher SPIP pour changer son
fonctionnement, mais il ne faut évidemment pas que ce genre de choses soit
intégré à la distrib officielle.

Si tu veux contourner la sécurité pour les <script> javascript, il faut le
faire dans le squelette :
<?php echo anti_securite('[(#TEXTE|texte_script)]'); ?>

Ou alors déclarer la fonction javascript séparément (dans le squelette),
et l'appeler dans l'article par un truc du genre <p onLoad="..."> qui
évite de faire sauter le <script>.

a+

Antoine.

Oui, c'est normal. (ça doit être la cinquantième fois que quelqu'un pose
cette question, il va falloir faire une FAQ)

Merci et désolé.
en fait, plutot qu'une FAQ, il faudrait surtout faire sauter la page sur
spip.net :
http://www.spip.net/threadspip2015-4917.html
qui pointe vers http://www.3studio.org/article.php3?id_article=148
...
J'avais fait une bete recherche sur google et trouvé ca en 30s ...

La sécurité est appliquée après *tous* les filtres, même les filtres
utilisateurs appelés dans les squelettes.

Y a pas de soucis, sur le prncipe, c'est evidement mieux et si en plus il y
a moyen de contourner ca dans le squelette, ca me va très bien.

Si tu veux contourner la sécurité pour les <script> javascript, il faut le
faire dans le squelette :
<?php echo anti_securite('[(#TEXTE|texte_script)]'); ?>

OK.
<?php echo ereg_replace ("&lt;script ","<script ",'(#TEXTE|texte_script)');
?>
Ca marche.
Merci.
Heu question bete : et en "apres_propre, ca marcherait ou non ? (en gros
est-ce que après propre est en tout dernier ou non ?)

Ou alors déclarer la fonction javascript séparément (dans le squelette),
et l'appeler dans l'article par un truc du genre <p onLoad="..."> qui
évite de faire sauter le <script>.

C'est peut etre le mieux, je vais regarder cette approche mais en fait,
maintenant, mon souci est au niveau du cache qu'il faut que je traite "par
statut".
Mais ca, avec un INCLURE, ca ne devrait pas etre trop méchant.

Merci bien, @++