tami: JSON-Paket mit composer vom Zend Framework holen

Beitrag lesen

hi molily,

$json = Zend\Json\Json::encode($phpNative);

Guter Hinweis. Ich war bei meinen Recherchen darauf gestoßen, dass Zend einen eigenen JSON-Encoder bietet und hatte vermutet, dass der entsprechende Vorzüge gegenüber der eingebauten Low-Level-Funktion json_encode hat.

Übrigens ist der als separates Composer-Paket unter zendframework/zend-json verfügbar, der Zend Escaper unter zendframework/zend-escaper. Es spricht also nichts dagegen, sie in einem beliebigen PHP-Projekt einzusetzen. (Soweit ich das als PHP-Laie sagen kann.)

  • PHP (neuere Version) runtergeladen von: http://windows.php.net/download/ (VC9 Threadsafe, für Windows) [weil composer 5.3+ erwartet]
  • liegt jetzt in c:/php
  • ggfs. noch die Umgebungsvariable PATH um diesen Pfad erweitern
  • php.ini aus dem vorhandenen template erstellt (also php.ini-developer gespeichert unter php.ini) (im verzeichnis php) mit "extension_dir = "ext"" (weil da die extensions bei mir drinne sind, s. download oben) und "extension=php_openssl.dll" versehen (bzw. einkommentiert/auskommentiert wie das auch immer heißt), weil sonst der (vermutlich via php unnötige) download von composer.phar nicht funktioniert
  • in c:/composer-test die composer.phar platziert, die ich mit "php -r "readfile('http://getcomposer.org/installer');" | php" heruntergladen hatte (lag dann in meinem User-Dir), kann man auch so runterladen, ist eine PHP-Archiv-Datei("PH"-"Ar")
  • die composer.json angepasst (im verzeichnis c:/composer-test) zu:
{  
    "repositories": [  
    {  
        "type": "composer",  
        "url": "https://packages.zendframework.com/"  
    }  
    ],  
    "require": {  
        "zendframework/zend-json": "2.0.*"  
    }  
 }  

~~~ gemäß <http://framework.zend.com/downloads/composer>  
- dann: php composer.phar install ...  
D:\composer-test>php composer.phar install  
Loading composer repositories with package information  
Installing dependencies (including require-dev)  
  - Installing zendframework/zend-stdlib (2.0.8)  
    Downloading: 100%  
  
  - Installing zendframework/zend-json (2.0.8)  
    Downloading: 100%  
  
zendframework/zend-stdlib suggests installing pecl-weakref (Implementation of we  
ak references for Stdlib\CallbackHandler)  
zendframework/zend-json suggests installing zendframework/zend-server (Zend\Serv  
er component)  
Writing lock file  
Generating autoload files  
  
Im Verzeichnis ist jetzt das Verzeichnis "vendor" enstanden.  
  
Der Code (aus dem Verzeichnis, in dem der Ordner "vendor" liegt)  
~~~php
<?php  
require_once "vendor/autoload.php";  
class ToJason {  
    public $foo = '</script><script>alert(/XSS/)</script>';  
}  
$phpNative = new ToJason;  
$json = Zend\Json\Json::encode($phpNative);  
var_dump($json);  

"funzt".

php -f "json_test.php"

string(82) "{"foo":"\u003C/script\u003E\u003Cscript\u003Ealert(/XSS/)\u003C/script\u003E"}"

Exit code: 0

mfg

tami

0 48

PHP array an javascript function übergeben

javascriptnewbie
  • javascript
  1. 0
    dedlfix
  2. 0
    Der Martin
    1. 0
      molily
    2. 0
      javascriptnewbie
      1. 0
        M.
        1. 0

          Gute Idee

          Tom
          • menschelei
      2. 1
        ChrisB
        1. 0
          javascriptnewbie
          1. 0
            molily
            1. 0
              javascriptnewbie
              1. 0
                M.
              2. 6
                molily
      3. 0
        Tom
        1. 0
          javascriptnewbie
          1. 0
            Tom
            1. 0
              Sven Rautenberg
              1. 0

                Nicht nur meckern, zeigen! Escaping für JavaScript-Variablen

                Tom
                1. 0
                  molily
                  1. 0
                    tami
                    1. 0
                      molily
                      1. 0
                        tami
                  2. 0
                    Tom
                    1. 0
                      molily
              2. 0

                PHP json_encode - kontextspezifisches Escaping

                tami
                1. 0
                  tami
                  1. 0
                    molily
                    1. 0
                      Sven Rautenberg
                      1. 0
                        molily
                        1. 0
                          molily
                        2. 0

                          JSON in HTML einbetten

                          molily
                          1. 1

                            JSON in HTML einbetten - RoR "vs" ZF

                            tami
                            1. 0
                              tami
                              1. 0
                                Tom
                                1. 0
                                  molily
                            2. 0
                              molily
                              1. 0
                                tami
                                1. 0
                                  tami
                              2. 0

                                JSON-Paket mit composer vom Zend Framework holen

                                tami
                              3. 2

                                JSON in HTML einbetten

                                molily
                                • php
                          2. 0

                            Reihenfolge der Auswertung?

                            Tom
                            1. 0
                              tami
                            2. 0
                              tami
                            3. 0

                              Reihenfolge der Auswertung? Codierung, kleine Korrektur

                              Tom
                            4. 0
                              molily
                              1. 0
                                Tom
                                1. 0
                                  molily
                  2. 0
                    Tom