2014-01-28 3 views
1

Я занимаюсь сайтом социальной сети и сталкиваюсь с проблемой ... например, когда пользователь публикует что-то или комментарии о статусе, а затем, где я должен санатировать данные, такие как разделяя tagged friends и hastags и т. д. Я, вероятно, более смущен после того, как встретил twitters [(twitter-text-js)][1] ... так как он санатизирует содержимое клиентской стороны и затем отправляет его на сервер ... Было бы здорово, что некоторые из вас могут пролить некоторые свет на нем .. Заранее спасибо, где для санации данных клиентская сторона или сторона сервера

+0

Почему бы и нет? Я бы сказал, что backend - это абсолютная необходимость. – jboneca

+1

Я тебя не понял. –

+0

Вы должны включить проверку пользовательского ввода на стороне клиента, но поскольку многие из этих методов можно обойти, вы всегда должны санировать вход пользователя на бэкэнд. – jboneca

ответ

1

Данные санитарии должны происходить на стороне сервера. Все, что вы делаете на стороне клиента можно обойти (например, если вы делаете это с JavaScript -> злоумышленник просто отключает JavaScript.)

По соображениям удобства использования вы можете дополнительно реализовать его на стороне клиента.

+0

, то почему твиттер использует этот текст-js для –

+1

меньше замен на сервере делает более легкую обработку нагрузки, почему бы не сделать 99,99% законных клиентов делать это для них бесплатно? Когда у вас есть такой трафик, маленькие вещи, подобные этому, складываются в большую экономию, чем потребляют многие сайты. он также позволяет жить превью и тому подобное, если вы знаете, как выйдет твит ... – dandavis

+0

Это неправда. современные webapps просто ** не работают ** с отключенным javascript (facebook, gmail и бесчисленными другими), поэтому, хотя я согласен, что санитария должна произойти на серверной стороне, все равно стоит иметь отказоустойчивое решение на клиент также не причиняет вреда. – vsync

0

Всегда проверяйте и обрабатывайте данные на стороне сервера, даже если вы делаете это на стороне клиента. Также важно очищать данные, используя что-то вроде htmlentities() и/или htmlspecialchars() при отображении данных из базы данных.

Научитесь использовать подготовленные заявления PDO для вставки данных в вашу базу данных, так как вам не нужно беспокоиться о дезинфекции данных перед началом работы.

http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/

Смежные вопросы