Why can I still use the world name "Balls", then?
My original proposal meant the worlds table should be read-only. The values in your drop-down should be like 1-n, where 1 is AMERA and n is the last world in the list. Your worlds table should look something like this:
The query should look something like thisCode:id PRIMARY KEY | name 1 | Amera 2 | Antica ... | ... n | Zanera
There are 2 major reason to do this:Code:SELECT * FROM auctions LEFT JOIN worlds ON auctions.worldId = worlds.id WHERE worlds.name NOT NULL and (whatever other criteria here)
- It reduces your possible attack surface by reducing the amount of data users are allowed to place raw inside your database.
- It makes the database more space-efficient, as there will not be duplicate strings for world names all over the place.
10. I'm not sure what your database structure is, but you should, first and foremost, be hashing and salting passwords that are stored. I've done some timing attacks that show you're _probably_ not doing this. The reason you want to do this is that, in case your database every does get compromised, the hackers wont have direct access to the plain-text passwords of your users. Instead, they'll have to brute-force the hashes.
https://crackstation.net/hashing-security.htm
http://php.net/manual/en/faq.passwords.php
http://www.sitepoint.com/hashing-pas...d-hashing-api/
@DarkstaR, you got alot of fun dont you?![]()
Case and point: http://www.tibiatracker.com/deletions
This site uses the same table library as you and the same pagination. It take ~21 seconds to load just because it needs to pull that shitload of data down and fill the DOM before displaying anything.
I was going to try to break something but I think Nick has it covered.
![]()