Your SlideShare is downloading. ×
0
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Ssi
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
355
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Apache Server Side Includes
    Ionuț Ştirban
  • 2. What are server side includes?
    SSI (Server Side Includes) are directives that are placed in HTML pages, and evaluated on the server while the pages are being served. They let you add dynamically generated content to an existing HTML page, without having to serve the entire page via a CGI program, or other dynamic technology.
    Example:<!--#echo var="SERVER_NAME"-->
  • 3. How do Server Side Includes work?
    When the client requests a document from the SSI-enabled server, specified document is scanned by the server for the SSI code elements and carry's out the required actions based on the code element
  • 4. Configuration
    To permit SSI on your server, you must have the following directive in srm.conf:
    AddType text/x-server-parsed-html .shtmlor
    AddType text/html .html
    In the access configuration file (access.conf) that dictate what type of SSI directives you can place in your HTML document you must have:
    Options Includes ExecCGI or
    Options IncludesNoExec
  • 5. SYNTAX
    <!--#directive parameter="value"-->
    no space between <!-- and #
    directives:
    config
    include
    echo
    exec
    parameters:
    virtual, file
    cmd, cgi
    timefmt
  • 6. Includes
    You can include a file using:
    <!--#include virtual="/includes/ssi.txt" -->
    <!--#include file="ssi.txt" -->
    "Include virtual" should be used when the path to the document is given relative to the document root.
    The "Include File" argument is used when the path to the document we want to include is given relative to the shtml file itself.
  • 7. Example
    <html>
    <head><title>Include example!</title></HEAD>
    <body>
    <h3>News</h3>
    <!--#include file="news.txt" -->
    </body>
    </html>
    news.txt:
    <p>Liverpool threw the Premier League title race wide open once more with a resounding 3-1 win over Manchester United at Anfield.</p>
  • 8. Example
    News
    Liverpool threw the Premier League title race wide open once more with a resounding 3-1 win over Manchester United at Anfield.
  • 9. Echo
    The echo directive returns the value of special SSI variables as well as other environment variables
    The only parameter to this directive is var, whose value is the name of the variable you wish to echo.
    Format:<!--#echo var="var name"-->
  • 10. Example
    <html>
    <head><title>Echo example!</title></head>
    <body>
    <h3>Welcome to my server at
    <!--#echo var="SERVER_NAME"--></h3>
    Your ip is
    <!--#echo var="REMOTE_ADDR"--> <br />
    Date: <!--#echo var="DATE_LOCAL"--> <br />
    Your are using
    <!--#echo var="HTTP_USER_AGENT" -->
    </body>
    </html>
  • 11. Example
    Welcome to my server at students.info.uaic.ro
    Your ip is 92.86.84.57Today is Sunday, 06-Mar-2011 19:25:27 EET Your are using Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15
  • 12. ECHO EXAMPLES
    <!--#echo var="DOCUMENT_NAME" -->
    <!--#echo var="DOCUMENT_URI" -->
    <!--#echo var="LAST_MODIFIED" -->
    <!--#echo var="REMOTE_USER" -->
    <!--#echo var="DATE_GMT" -->
    <!--#echo var="HTTP_ACCEPT_ENCODING" -->
    <!--#echo var="HTTP_REFERER" -->
    http://www.ssi-developer.net/ssi/ssi-echo.shtml
  • 13. Date
    <!--#echo var="DATE_LOCAL" -->
    Output:
    <html><body> Sunday, 06-Mar-2011 13:08:03 EET </body></html>
    <!--#configtimefmt="%A, %B %d, %Y" --> <!--#echo var="DATE_LOCAL" -->
    Ouput:
    Sunday, March06, 2011
  • 14. Exec
    The exec command simply executes a program, script or a shell command on the server. It takes two formats "Exec CMD" which is used to run a command and "Exec CGI" which can be used to execute a script.
    <!--#exec cmd= "ls" -->
    <!--#exec cgi= "counter.pl.cgi" -->
  • 15. DEMO
  • 16. Config
    In addition to being able to config the time format, you can also config two other things:
    if you want to change the error message to something else, you can do so with the errmsg attribute to the config element:<!--#configerrmsg="[This is a message error]" -->
    you can config the format in which file sizes are returned with the sizefmt attribute:<!--#configsizefmt="bytes"-->
  • 17. CONFIG EXAMPLES
    <!--#configsizefmt="bytes" -->
    <!--#configtimefmt="%y/%m/%d" -->
    <!--#configerrmsg="we have a problem."
  • 18. Advanced SSI techniques
    Using the set directive to set variables for later use:
    <!--#set var="name" value="Ronaldo" -->
    <!--#set var="modified" value="$LAST_MODIFIED" -->
    <!--#set var="cost" value="$100" -->
    <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
  • 19. Advanced SSI techniques
    Conditional<!--#if expr='"$DOCUMENT_URI" = "/ssi.shtml"' -->in ssi <!--#elifexpr='"$DOCUMENT_URI" = "/exec.shtml"' -->in exec <!--#else -->in neither<!--#endif -->
  • 20. WHEN TO USE SSI?
    The decision of when to use SSI, and when to have your page entirely generated by some program, is usually a matter of how much of the page is static, and how much needs to be recalculated every time the page is served.
  • 21. ADVANTAGES
    viewing the document source doesn't reveal their use
    they are easier and faster to develop (and to maintain) than cgi
    decrease the chance of introducing errors when changing information
  • 22. DISAVANTAGES
    it can be quite costly for a server to continually parse documents before sending them to the client
    enabling SSI creates a security risk
  • 23. bibliography
    http://httpd.apache.org/docs/current/howto/ssi.html
    http://oreilly.com/openbook/cgi/ch05_02.html
    http://www.ssi-developer.net/ssi/
    http://www.wdvl.com/Authoring/SSI/Intro/index.html
    http://websitetips.com/ssi/
  • 24. QA

×