|
|
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Привет. есть вопрос: какие символы в Oracle8 в типе VarChar2 есть специальнныим в SQL. что и как стоит квотить при написании SQL. Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2003, 11:51 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Нифига не понял, но, наверное, кавычку можно упомянуть. Ескейпится она кавычкой же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2003, 20:25 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Спасибо за попытку ответа :-) Попробую рассказать проблему с другой стороны. через cgi-скрипт в базу данных пишетня информация про человека(мило, ФИО, адрес ...). Большинство полей типа VarChar2. вот и интересуюсь на что можна напоротся при таком случае. если строки полученные от пользователя никак не проверять, то можно получить не только кавычку , но и чтото типа доступа к переменным Oracle-а... что кроме кавычки надо отлавливати в этих строках и на что заменять. (предупреждаю: я в оракле не спец.) :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 11:28 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Мне кажется, вы раздуваете из мухи слона :) Приведите пример подобного "хакерства"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 11:34 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Тут всё зависит от того, как полученные из формы значения обрабатываются. А то, на самом деле, можно там написать drop table ... и, если не хватило того, чего должно было хватить для организации минимальной безопасности, в некоторых случаях может прокатить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 12:47 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Я хотел скзать, что без проверок у меня могут возникнуть проблемы при регестрации народа. тоесть тыпа того, что поставив ":" можна сослатся на несуществующую переменную. и тем вызвать проблему регистрации данного человека (которому действительно захотелось поставить в данных про себя пару особенных сиволов.) иными словами это получится не хакерство а проблема регистрации (регистрация на пройдёт). если я неправ прошу исправить и указать куда копать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 13:17 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
посмотрите функцию translate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 13:23 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Ну, по-хорошему, надо ввод проверять на правильность. Уж не знаю, на чём там твой cgi писан. А inset into table1 (id, title) values (seq1.nextval,':1 Pupkind') проблемы не вызовет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 13:26 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Тоесть если я правильно понимаю то в кавычках катят любые символы кроме самой кавычки. никаких переменных итд боятся нечего. и никаких проблем с самим Oracle-ом быть надолжно..... тоесть смотреть надо на на остальные преобразования (ввод данных пользоватилем и вывод ему их обратно.) я ничего не перепутал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 13:52 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
В кавычках вставляются строковые значения, без кавычек - цифири. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 13:58 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Что цифры без кавычек это понятно. яж то огогвариваю что пишу в VarChar2 (тоесть в кавычках.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 14:25 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Ну да. Обрабатывать, в твоём случае, нужно только кавычку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 15:09 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Ну коль так, тогда большое всем Спасибо. и тему можна считать закрытой. Удачи ВАМ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 15:13 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
(с) Вот так всегда, на самом интересном месте.... ВЫ уж извиньте, но тему приходится поднимать заново. я пытаюсь виполнить : Код: plaintext 1. 2. и получаю следующие ошибки: Код: plaintext 1. 2. 3. 4. 5. 6. Тоесть мне почемуто мешают "&" и "," и это несмотря на то что они заключены в одинарные кавычки. просветите где @ порылась :-). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 13:08 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
хотя, я немного поколупался и вижу что в дело не в запятых а именно в "&". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 13:15 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Если хочешь вставить значение поля с символом &, сперва скажи в sqlplus: SET DEFINE OFF или переопредели на другой символ: http://technet.oracle.com/docs/products/oracle9i/doc_library/release2/server.920/a90842/ch13.htm#1012408 http://www.geocities.com/luzanovp/sp_vars.html#User_Vars_Subst_Set ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 13:15 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Это только в sqlplus. Запятая ни при чём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 13:18 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Ага, еще лучше: SET SCAN OFF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 13:19 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Тоесть пишем в SQL*Plus SET DEFINE OFF и забываем про &, а при програмной отправке запроса следим за одинарной кавычкой. Надеюсь я Вас правильно понял :-) Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 13:32 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Dlya opredeleniya taktiki obrabotki simvolov napodobie ' ili & nado tocno ponimat sleduyuschee: 1) -- na chem pisn cgi 2) -- v cgi skripte generiruetsya polniy tekst insert ili -- v cgi skripte ispolzuyutsya templaty insert s podstanovkoy bind peremennyh 3) sgenerirovanniy tekst otpravlyaetsya na server kak odinochniy statment ili kak posledovatelnost statmentov poskolku pri ispolzovanii bind peremennyh s templatami voobsche ne nugno nichego eskeypit a pri posilke na server posledovatelnost statmentov nugno sozdavat mehanizmy opespecheniya polnogo analiza na bezopasnost scripta. a to ved v etom sluchae ochen legko otpravit chto-to vrode: text = "abc','bcd'); drop table xxx; insert into vvv(a,b) values('aaa','bbb'" ... itd t.e pri generacii insert budet primerno sleduyuschee: stmt = "insert into vvv(a,b) values(" + text + ");" ; a v rezultate poluchim: stmt = "insert into vvv(a,b) values(abc','bcd'); drop table xxx; insert into vvv(a,b) values('aaa','bbb');" i eto vopolnitsya kak 3 posledovatelnyh sql statments, kotorie s udovolstviem ubyut tablicu xxx po povodu privilegiy na drop prosba ne bespokoitsya. V tekst nugniy grant vstavlyaetsya ochen legko! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 19:02 |
|
||
|
Спец символы в VarChar2 (Oracle8)
|
|||
|---|---|---|---|
|
#18+
Тоже, Большое Спасибо за лекцию. Будет принято и обдумано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 19:44 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=1991434]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 414ms |

| 0 / 0 |
