|
|
|
| Есть форум. на форуме есть профиль пользователей. В профиле есть поля Откуда, подпись, интересы, род занятий. Как и на что лучше их проверять перед добавлением в базу? Потом естественно эти поля надо отображать без вреда для конечного пользователя. | |
|
|
|
|
|
|
|
для: RV
(02.06.2006 в 18:29)
| | перед добавлением в базу убрать пробелы, вырезать теги, проверить нет ли < и >
и прочих ненужных символов..
короче выполнить примерно такую чистку ))
$text=htmlspecialchars(stripslashes(trim(mysql_escape_string($text))));
|
| |
|
|
|
|
|
|
|
для: skor
(02.06.2006 в 18:41)
| | >$text=htmlspecialchars(stripslashes(trim(mysql_escape_string($text))));
не надо нести бред. | |
|
|
|
|
|
|
|
для: RV
(02.06.2006 в 18:29)
| | Перед добавлением их не надо проверять ни на что. Надо их лишь корректно в базу поместить, т.е. соблюсти синтаксис языка SQL.
А вот после вытаскивания из базы, перед отображением в браузере, следует корректно преобразовывать символы в сущности html (с помощью htmlspecialchars) | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2006 в 18:47)
| | ну а если пользователи начнут всякую фигню там писать? что тогда? | |
|
|
|
|
|
|
|
для: skor
(02.06.2006 в 18:53)
| | То в базе начнет храниться всякая фигня.
БАза умеет хранить всякую фигню. Ей, откровенно говоря, вообще безразлично, что хранить.
Она, к примеру, даже фотографии и прочие двоичного рода файлы хранить может, и ничего, не ломается. | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2006 в 18:55)
| | по моему разумнее сразу заносить в базу чистый результат а потом брать его и выдовать пользователю, чем потом вычищать ее перед выводом! | |
|
|
|
|
|
|
|
для: skor
(02.06.2006 в 18:57)
| | http://www.softtime.ru/info/task.php?id_article=81 | |
|
|
|
|
|
|
|
для: skor
(02.06.2006 в 18:57)
| | Trianon прав. Желательно по минимому изменять информацию, на случай если ее нужно будет править. | |
|
|
|
|
|
|
|
для: Artem S.
(02.06.2006 в 19:01)
| | >....Желательно по минимому изменять информацию, на случай если ее нужно будет править.
....или даже просто искать.
Попытка провести в базе поиск чего-то вроде будет обречена на провал.
И вы никогда не объясните пользователю, что ему следует искать | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2006 в 19:15)
| | лан сдаюсь )) | |
|
|
|
|
|
|
|
для: skor
(02.06.2006 в 20:38)
| | Trianon
как грамотно вписать всё в базу?
Вот тебе фигня пользователя:
' AND 'password'='hello' WHERE 'id'=14;""#$%^&*()! Маме привет
Как правильно вписать это в базу по твоему? | |
|
|
|
|
|
|
|
для: valenok
(02.06.2006 в 20:51)
| | очень просто:
$param = "'".mysql_real_escape_string($value). "'";
$sql = "INSERT into tab (str) VALUES ($param)"; | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2006 в 21:05)
| | а на выводе?
порсто htmlspecialchars ?
Хватит по твоему? | |
|
|
|
|
|
|
|
для: valenok
(02.06.2006 в 21:06)
| | Если просто в html - хватит.
Если внутрь строки JS-фрагмента html, то там совсем другой коленкор. Там прямых стандартных функций вообще не хватит. Придется писать свою. | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2006 в 21:08)
| | Что значит ява скрипт?
Пользователь написал: <script>alert("hello mama");</script>
Мне надо чтоб на выходе это и был результат. без исполнения конечно. Просто надпись
" <script>alert("hello mama");</script> " | |
|
|
|
|
|
|
|
для: valenok
(02.06.2006 в 21:12)
| | Так и выйдет. Если без исполнения, то никакой это не скрипт, а обычный html.
Просто иногда из PHP данные надо передать в JS для последующей обработки. Вот тогда придется повозиться. | |
|
|
|