!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.16 (Debian). PHP/5.3.3-7+squeeze19 

uname -a: Linux mail.tri-specialutilitydistrict.com 2.6.32-5-amd64 #1 SMP Tue May 13 16:34:35 UTC
2014 x86_64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/share/doc/python-nevow/examples/logout_guard/   drwxr-xr-x
Free 129.73 GB of 142.11 GB (91.29%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     logout_guard2.py (2.97 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
"""
How to access the session from guard's logout function,
with an example of remembering values within the session.
"""

# A resource for our site
#

import random
from zope.interface import implements, Interface

from nevow import guard
from nevow import rend
from nevow import loaders
from nevow import tags as T
from nevow import url
from nevow.inevow import ISession

class IValueHistory(Interface):
    pass

class ISessionValue(Interface):
    pass

class MyRootResource(rend.Page):
    """Some resource."""

    addSlash = True

    def render_randomNumber(self, ctx, data):
        session = ISession(ctx)
        
        number = random.randrange(0, 100)
        session.setComponent(ISessionValue, number)
        
        history = session.getComponent(IValueHistory)
        if history is None:
            history = []
        history.append(number)
        session.setComponent(IValueHistory, history)
        
        return str(number)
    
    def render_valueHistory(self, ctx, data):
        session = ISession(ctx)
        history = session.getComponent(IValueHistory, default=[])
        return repr(history[:-1])
        
    docFactory = loaders.stan(
        T.html[
            T.body[
               T.p['Your random number is: ', render_randomNumber],
               T.p['Previous random numbers were: ', render_valueHistory],
               T.div[T.a(href=url.here)['Click here to get a new number']],
               T.div[T.a(href=url.here.child(guard.LOGOUT_AVATAR))['Click here to log out']],
               ]
            ]
        )

# Cred-specific implementation
#

from twisted.cred.portal import IRealm
from nevow.inevow import IResource

class Mind:
    def __init__(self, request, credentials):
        self.request = request
        self.credentials = credentials

class MyRealm:
    implements(IRealm)
    
    def requestAvatar(self, avatar_id, mind, *interfaces):
        if IResource in interfaces:
            return (
                IResource, 
                MyRootResource(),
                self.createLogout(avatar_id, mind)
                )
        raise NotImplementedError
            
    def createLogout(self, avatar_id, mind):
        def logout():
            # This will be a nevow.guard.GuardSession instance
            session = mind.request.getSession()
            values = session.getComponent(IValueHistory)
            session.unsetComponent(IValueHistory)
            print 'Logging avatar', avatar_id, 'out of session', session
            print 'Random numbers generated were', values
        return logout

# Code for examples.tac
#

from twisted.cred.portal import Portal
from twisted.cred.checkers import AllowAnonymousAccess
from twisted.cred.credentials import IAnonymous
from nevow.guard import SessionWrapper

def createResource():
    portal = Portal(MyRealm())
    portal.registerChecker(AllowAnonymousAccess(), IAnonymous)

    # Here is the vital part: specifying a mindFactory for guard to use
    return SessionWrapper(portal, mindFactory=Mind)

    

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0181 ]--