Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parse error v aplikácii SSSP031 #144

Open
TomiBelan opened this issue Jun 25, 2019 · 0 comments
Open

Parse error v aplikácii SSSP031 #144

TomiBelan opened this issue Jun 25, 2019 · 0 comments

Comments

@TomiBelan
Copy link
Member

V aplikácii SSSP031 aka "Nastavenia pre mobilné aplikácie" je tlačidlo "Vygeneruj", ktoré používateľovi vygeneruje prihlasovací kód, a tlačidlo ktoré ten kód zmaže. Užívateľom, ktorí majú vygenerovaný kód, nevie Votr otvoriť SSSP031. (Normálne ju neotvárame, chyba bola objavená pri pokuse automaticky otvoriť každú aplikáciu.)

Dôvod je, že v dialógu je HtmlArea kde sa AIS pokúša zobraziť QR kód (čo sa mu aj tak nepodarí, lebo volá funkciu comfac.getComponent ktorá už neexistuje). Obsah tejto HtmlArea je uložený ako script type="text/plain". Lenže v tomto prípade obsahuje ďalší script. Zjednodušený príklad:

<html>
<body>
<script type="text/plain"><!--
<html><body>Aaa<script>alert(123)</script>Bbb</body></html>
--></script>
Ccc
<script>alert(456)</script>
Ddd
</body>
</html>

Prehliadače to zvládnu - dokument bude mať dva script tagy, pričom ten prvý obsahuje textové podreťazce <script> a </script>. Ale lxml si s tým nevie poradiť a časť vstupu zahodí:

>>> from bs4 import BeautifulSoup
>>> BeautifulSoup(c, 'lxml')
<html>
<body>
<script type="text/plain"><!--
<html><body>Aaa<script>alert(123)</script>Bbb</body></html><html><p>
--&gt;</p></html>

Nie je to prvý raz, čo mi lxml robí zle (#132) ale neviem či chceme prejsť na nejaký iný parser keď jedine lxml má prebuilt binaries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant