Ian Bicking wrote:
Ian Bicking wrote:
Martin v. Löwis wrote:
There's an XSS concern if users can upload arbitrary HTML. Approval
would address some of that, but it might be better to avoid the issue
altogether.
One way to handle that would be to host each package's documentation on
a different domain. E.g., package.pypi.python.org.
Can you please elaborate? What is the issue, and how could creating
domains resolve it?
The issue is that you can put in Javascript that does XMLHttpRequests
to other URLs on the same domain, and those requests can do things
like change a user's password, delete packages, etc. The Javascript
will be run as the person who is viewing the page. So if I am logged
in to PyPI and view some random page on pypi.python.org, and that page
contains malicious Javascript, that malicious Javascript can do
anything on pypi.python.org as though it was me doing it.
You can't make XMLHttpRequests across domains, so by putting each
package on its own domain you avoid the problem.
On second thought, simply by using a read-only domain (one that has no
admin on the domain itself) you'd also be fine. So
http://pypidocs.python.org/package/* would work fine, so long as all the
management for that remained on pypi.python.org.
I personally like domains for projects, though package.pypi.python.org
is a bit long winded anyway. A new top-level domain (pypackage.org or
pyforge.org or something) would mitigate that. But any place to drop
docs would be nice. Especially with Sphinx I think we'll get more
libraries with multi-page HTML docs.
What about distribution names with dots in them? Or worse, spaces? Both
are allowed by setuptools and PyPI and I've seen them in the wild
(especially dotted distribution names aren't uncommon when a namespaced
package is distributed under its package name, e.g. zope.interface).
_______________________________________________
Catalog-SIG mailing list
Catalog-SIG@python.org
http://mail.python.org/mailman/listinfo/catalog-sig