Giter VIP home page Giter VIP logo

ethna's Introduction

Ethna

Abstract

This version of Ethna is deversed from 2.1.2 of original Ethna.

This project deversed version aims following

  • Fast response
  • Composer enabled
  • =PHP5.3

  • PSR-2 support.

ethna's People

Contributors

matsubo avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

ledmonster

ethna's Issues

Need to check the security vulnerability

*** Ethna_Controller.php.org    2013-05-20 18:08:36.000000000 +0900
--- Ethna_Controller.php    2013-05-21 17:47:19.000000000 +0900
***************
*** 768,773 ****
--- 768,782 ----
          $session->restore();
          $forward_name = $backend->perform($action_name);

+         if (
+             strpos($forward_name, "\0") !== false ||
+             strpos($forward_name, '../') !== false ||
+             strpos($forward_name, '.._') !== false
+         ) {
+             trigger_error("Ethna Security Violation. input illegal character[" . addslashes($forward_name) . "]", E_USER_NOTICE);
+             return Ethna::raiseError("security violation");
+         }
+ 
          // アクション実行後フィルタ
          for ($i = count($this->filter_chain) - 1; $i >= 0; $i--) {
              $r = $this->filter_chain[$i]->postActionFilter($action_name, $forward_name);

patch for v2.2 autoload version.

*** ./Ethna_Controller.php.org  2013-05-20 18:08:36.000000000 +0900
--- ./Ethna_Controller.php  2013-06-05 17:12:33.000000000 +0900
***************
*** 768,779 ****
--- 768,796 ----
          $session->restore();
          $forward_name = $backend->perform($action_name);

+         if (
+             strpos($forward_name, "\0") !== false ||
+             strpos($forward_name, '../') !== false ||
+             strpos($forward_name, '.._') !== false
+         ) {
+             trigger_error("Ethna Security Violation. input illegal character[" . addslashes($forward_name) . "]", E_USER_NOTICE);
+             return Ethna::raiseError("security violation");
+         }
+ 
          // アクション実行後フィルタ
          for ($i = count($this->filter_chain) - 1; $i >= 0; $i--) {
              $r = $this->filter_chain[$i]->postActionFilter($action_name, $forward_name);
              if ($r != null) {
                  $this->logger->log(LOG_DEBUG, 'forward [%s] -> [%s] by %s', $forward_name, $r, get_class($this->filter_chain[$i]));
                  $forward_name = $r;
+                 if (
+                     strpos($forward_name, "\0") !== false ||
+                     strpos($forward_name, '../') !== false ||
+                     strpos($forward_name, '.._') !== false
+                 ) {
+                     trigger_error("Ethna Security Violation. input illegal character[" . addslashes($forward_name) . "]", E_USER_NOTICE);
+                     return Ethna::raiseError("security violation");
+                 }
              }
          }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.