Я могу использовать одну модель в другой модели в CakePHP?

Функциональность для достижения этой цели была добавлена ​​в версии 4.5.11

Это позволяет добавлять различные типы экранирования к выходу.

Это мой тест LinqPad:

    var settings = new JsonSerializerSettings();

    settings.StringEscapeHandling = StringEscapeHandling.EscapeHtml;

    var output = JsonConvert.SerializeObject(new { Property = "" }, settings);

    Debug.Print(output);

выводит

{"Property":"\u003cscript\u003ealert(\u0027o hai\u0027);\u003c/script\u003e"}

Так же, как отказ от ответственности, это не золотая пуля, чтобы исправить xss, но она должна помочь вам смягчить ее немного приведенный твой пример.

55
задан Chuck Burgess 19 January 2013 в 17:24
поделиться

2 ответа

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

Если вы используете Cake 1.2:

App::import('model','Attribute');
$attr = new Attribute();
$attr->save($dataYouWantToSavetoAttribute);

Если вы используете Cake 1.1:

loadModel('Attribute');
$attr = new Attribute();
$attr->save($dataYouWantToSavetoAttribute);
26
ответ дан 26 November 2019 в 17:39
поделиться

В CakePHP 1.2 лучше использовать:

ClassRegistry::init('Attribute')->save($data);
11
ответ дан 26 November 2019 в 17:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: