DMeloni / shaarlo

Unified Shaarlis Rss
33 stars 9 forks source link

Faille de sécurité liée à target="_blank" #36

Open jerrywham opened 7 years ago

jerrywham commented 7 years ago

Salut, Il y a une faille dans shaarlo qui peut être facilement corrigée et qui n'est visible que lorsque le site est épinglé dans un navigateur (je dirais que c'est plus une faille des navigateurs mais il faut faire avec temps que ce n'est pas corrigé).

Lorsque c'est le cas, comme le site est épinglé, le navigateur ne va pas fermer l'onglet lorsque l'on va cliquer sur un lien mais il va plutôt ouvrir un nouvel onglet (en utilisant window.opener). Cela a pour effet de permettre au site cible de modifier l'onglet initial sur lequel se trouve shaarlo.

Tu peux tester en épinglant une instance de shaarlo dans ton navigateur et en cliquant sur un lien menant vers mon shaarli (Liens ecyseo).

Pour corriger ça, il faut utiliser la fonction javascript suivante sur tous les liens dans les titres, les descriptions et les liens "shaarli"

<script type="text/javascript">
function openNew(url) {
    var otherWindow = window.open();
    otherWindow.opener = null;
    otherWindow.location = url;
}
</script>

Et pour l'utiliser, il suffit de placer dans les liens onclick="openNew(this.href);return false;" La méthode utilisant rel avec noopener et noreferrer ne fonctionne pas dans tous les cas, contrairement à la fonction précédente.