|
|
|
| Есть допустим функция типо этой
function ShowTextBoxInRegistrationForm($what,$what_style,$name,$id,$name_style)
{
echo("
<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=300 ".$what_style.">
".$what."
</td>
<td width=200 align=center>
<input class=".$name_style." type='text' size=20 name='".$name."' id='".$id."'>
</td>
</tr>
</table>");
}
|
эта функция является методом класса
теперь вопрос =) Надо ли обрабатывать выводимую инфу в браузер (htmlspecialchers'ом к примеру)
ведь вызов будет иметь вид
$this->ShowTextBoxInRegistrationForm("Имя","form_text","user_name","user_name","form_text_box");
|
а тут вроде ничего дурного нельзя сделать (будет то что мастер написал), или можно? =)
и срезу вопрос (скорее риторический) , как лучше поступать: обрабатывать инфу до добавления в базу или при выводе в браузер? | |
|
|
|
|
|
|
|
для: Whi-teOoS
(22.01.2007 в 16:36)
| | а вы поставьте в качестве значения имени
<script>alert('Превед!')</script>
|
и вопросы сразу отпадут.
обрабатывать лучше перед выводом на экран. | |
|
|
|
|
|
|
|
для: Loki
(22.01.2007 в 16:48)
| | это я знаю. НО! К вызову ф-ии ведь никто не может получить доступ кроме того создает страницу? или может? собственно вопрос в этом =)
Просто "создатель" ведь не дурак (как правило =) ) и писать то что убьет его стр не будет, а тогда зачем грузить скрипт лишкими действиями типа:
function MakeSaveText(&$value,$incoming_data,$size)
{
$value = substr($incoming_data,0,$size);
$value = trim(htmlspecialchars(stripslashes($value)));
return $value;
}
|
| |
|
|
|
|
|
|
|
для: Whi-teOoS
(22.01.2007 в 18:03)
| | Если вопрос про тип доступа к методам класса, то права доступа у метода какие?
public - любой может вызвать метод вне класса
protected - вызвать метод можно как в классе - родителе, так и в классе - потомке.
private - только в том классе, где объявлен метод.
если тип доступа совсем не указан, то считается, что он Public.
а... вопрос не про это был... | |
|
|
|
|
|
|
|
для: Whi-teOoS
(22.01.2007 в 18:03)
| | тогда выведите фразу
Здравствуйте, детишки! Сегодня мы поговорим о теге <td>!
|
| |
|
|
|
|
|
|
|
для: Loki
(22.01.2007 в 23:55)
| | Я знаю чем грозит вывод необработанной инфы, все скрипты, тэги и тп... Это я знаю (я не полный нуб, хотя заскоки порой бывают... Как сейчас например =) ).
Но!
Вопрос состоит в другом.
Т.К. я не знаю на что способны кульцхацкеры, мне интересно можно ли извне (тоесть не мне, создающему динамически страницу, а кому нибудь) получить доступ к этой переменной (выделено жирным):
Class something
{
some_function($this)
{
echo $this;
}
}
$a = new something;
$a->some_function(abra_kadabra);
|
Знаю что вопрос может быть и идиотский, но все же =)
Заранее пардон, что парю мозги.
Соответственно вопрос в каких случаях, злоумышлениик может получить доступ к переменной (во! надо было так вопрос ставить =) )
Во всех манах написано, что переменные надо обрабатывать и тд и тп, НО! не сказано когда именно (в каких случаях)... Всегда? помоему выходят слишком загруженные скрипты, что плохо влияет на быстродействие...
Короче просветлите мой моск пжлст =) | |
|
|
|
|
|
|
|
для: Whi-teOoS
(23.01.2007 в 01:02)
| | Да никак они не получат в свои руки контроль над переменной. | |
|
|
|
|
|
|
|
для: Whi-teOoS
(23.01.2007 в 01:02)
| | Это зависит от того, откуда переменная abra_kadabra берётся? | |
|
|
|
|
|
|
|
для: cheops
(23.01.2007 в 12:12)
| | Sergey89 what about... (read next string) =)
cheops не из $_GET[''] , $_POST[''], базы или файла. Получается что то что в этой переменной никак не доступно злоумышленникам, и все на совести автора?
Ох... Чет у меня такое чувство что я туплю жестко... | |
|
|
|
|
|
|
|
для: Whi-teOoS
(23.01.2007 в 16:51)
| | Если переменная не проходит через GET, POST, COOKIE и не вбивается пользователем ни на каком из этапов - дополнительная защита не требуется... если преследуют жёсткие приступы паранои - возьмите и поставьте проверку, чтобы не думалось... какие допустимые значения могут быть в abra_kadabra? | |
|
|
|