OpenLLM-France/wikimedia huggingface dataset:
# Session fixation

In a session fixation attack, an attacker creates an unauthenticated session and then tricks a user to use and authenticate the session. As soon as the user has authenticated, the attacker can then use the session, as he knows the session id.

## To prevent this type of attack

* Regenerate (change) the session ID as soon as the user logs in (destroying the old session)
* Prevent the attacker from making the user use his session by accepting session IDs only from cookies, not from GET or POST parameters (PHP: php.ini setting “session.use_only_cookies”)

## Rationale

Regenerating the ID makes the old session ID worthless to the attacker. Even if the attacker manages to fix a session, his session will never be authenticated. The second countermeasure is aimed at making it impossible to fix the session. However, XSS or similar issues with other applications on the same domain (not necessarily sub-domain!) may allow attackers to set false cookies.
# Web Development
## Table of Contents

* Introduction
** The history of the Internet
** Why do people develop web pages?
** What is web development?
* The Concept
** Getting from vague idea to hammered-out concept
** Pre-design testing and other useful techniques
** The rationale of concepts: being careful
* Resources
** What's needed to develop a website?
** Setting up a reasonable web development budget
** Finding investors, advertisers, and supporters
** Making connections and selling your concept
* The Image
** The importance of a website's unified theme
** The design phase and the one-second test
** Compliance and audience reach
* The Backend
** What is a backend?
** To db or not to db?
** Choosing the right programming language
** Good coding procedures and adherence to standards
* Gaining users
** Finding your target audience
** Enticing advertisers
** Search engine optimization
** The common misconception: visits vs. hits
** Staying updated: why people come back
** Adding a Forum
* The Follow-through
** Updating a live website
** Providing support
** Continued dedication
* Closing Shop
** Life after death: selling your website
** An alternative to closing: going open-source

### Case Studies

* PTM Training
# SQL injection

An SQL injection vulnerability occurs if user input included in database queries is not escaped correctly. This type of vulnerability allows attackers to change database queries, which can allow them to obtain or modify database contents.

## To prevent this type of attack

* use prepared statements to access the database – or –
* use stored procedures, accessed using appropriate language/library methods or prepared statements
* Always ensure the DB login used by the application has only the rights that are needed

## Rationale

Escaping input manually is error-prone and can be forgotten. With prepared statements, the correct escaping is automatically applied. This also avoids issues with different input interpretation (charset, null byte handling etc.) which can lead to hard-to-find vulnerabilities. Using a database login with limited access rights limits the impact of successful attacks.

### Exploitation

SQL injection can compromise any information in the database and even lead to full system compromise. It can be used to add PHP, HTML, and JavaScript code to web pages and create files. Arbitrary content added to the website can be used for malicious attacks against users and to gain shell access to the server.

### Example

If the input for the title of the page on this website were vulnerable to SQL injection then the URL that would be used for the attack is https://en.wikibooks.org/w/index.php?title=. A simple test to reveal if the input is vulnerable would be to add https://en.wikibooks.org/w/index.php?title=' because this SQL syntax would break the query and show an SQL error on the page. The next query could be to select usernames and hashed passwords with something like https://en.wikibooks.org/w/index.php?title=1%20UNION%20ALL%20SELECT%20user_pass%20FROM%20wiki_user;--. The ;-- on the end ends the query and makes the remaining query a comment. Files containing password salts could be dumped to allow an attacker to begin cracking passwords and gain access to administrator accounts using the select load_file query. A query like this one could be used to gain shell access to the server: https://en.wikibooks.org/w/index.php?title=UNION%20SELECT%20<? system($_REQUEST['cmd']); ?>,2,3%20INTO%20OUTFILE%20"shell.php";--
# Special files

Special files like .htaccess, robots.txt, crossdomain.xml and clientaccesspolicy.xml have special meanings which has to be considered before deploying such files.

## To prevent this type of attack

* Know the meaning of these files
* Ensure robots.txt does not disclose "secret" paths
* Ensure crossdomain.xml and clientaccesspolicy.xml do not exist unless needed
* If used, ensure crossdomain.xml and clientaccesspolicy.xml allow access from trusted domains only
* Prevent users from uploading/changing special files (see file upload vulnerabilities section)

## Rationale

Special files like .htaccess, robots.txt, crossdomain.xml and clientaccesspolicy.xml define security relevant settings and rules. Knowing their meaning is necessary to use them securely.
.htaccess influences the behaviour and security relevant settings of the web server (e.g. access rights, executable file types, ...).
robots.txt can be ignored by malicious or badly written robots. As this file is publicly available, an attacker can gain valuable information about "interesting" paths (like administration interfaces) if they are mentioned in the robots.txt file. Attackers do check this file for such content.
crossdomain.xml and clientaccesspolicy.xml can disable the same-origin policy in some plug-ins. Incorrect configuration leaves the site open for cross-site scripting/cross-site request forgery attacks using plugins. Note that crossdomain.xml files are also valid if they appear in subdirectories.
# XML and internal data escaping

Escaping is required in internal data representations, too. For example, incorrectly escaped strings in XML could allow the attackers to close their including tag and inject arbitrary XML.
XML is a very complex format which can bear many unpleasant surprises.

## To prevent this type of attack

* Avoid XML if possible.
* For XML, use well-tested, high-quality libraries, and pay close attention to the documentation. Know your library – some libraries have functions that allow you to bypass escaping without knowing it.
* If you parse (read) XML, ensure your parser does not attempt to load external references (e.g. entities and DTDs).
* For other internal representations of data, make sure correct escaping or filtering is applied. Try to use well-tested, high-quality libraries if available, even if it seems to be more difficult.
* If escaping is done manually, ensure that it handles null bytes, unexpected charsets, invalid UTF-8 characters etc. in a secure manner.

## Rationale

XML is a highly complex format with many surprising features - did you know that XML can load other content via HTTP? If you just want to store/pass a few structured values, the powerful features of XML are often unnecessary. JSON is a less complex alternative, but requires its own safety measures (like avoiding arrays at top level and hex-encoding special characters that may be interpreted by broken browsers).
XML is too complex to “just quickly” write code that handles all possibilities correctly and safely. Do not rely on the security of “home-made” minimal libraries. Even some “official” XML libraries are known to have escaping issues in some functions or to explicitly allow content to be passed into the XML without escaping. (Notably the addChild method in PHP’s SimpleXML does partial escaping, see comments for PHP bug 36795) Libraries can contain critical issues, too. Read the documentation of your library carefully and consider searching the internet for known issues. If you are not sure, quickly test at least some basic cases.
XML has features that allow loading of external data like entities and DTDs. Some parsers enable this by default. If you parse untrusted XML files (remember, everything that comes from a user is untrusted), this may be used to read local files, make requests to internal systems not accessible from outside the firewall, and in some cases, even execute code. See OWASP article for details.
Doing escaping manually is very difficult to do correctly, as all problematic cases (e.g. partial UTF8 characters or different charsets) need to be considered. Writing a solution that works correctly with regular input may be fast and easy, but writing a solution that works correctly with any intentionally malformed input is difficult.
# Structural Biochemistry/Membrane Proteins/Ion Channels/Ion channels

Ion Channels: make the movement of ions to be fast across the hydrophobic barrier or the membrane. The use of Patch-clamp techniques allow the activity of single ion-channel molecules to be observed. Many ion channels have a common structural framework. Potassium channels: hydrated potassium ions must transiently lose their coordinated water molecules as the move to the narrowest part of the channel (selectivity filter)
# Structural Biochemistry/Membrane Proteins/Gap Junctions/Gap junctions/Gap junctions

(cell-to-cell channels) are channels in which small ions and molecules may pass between the interiors of communicating cells. a cell-to-cell channel is composed of 12 molecules of connexin, which associate to form two 6-membered connexons.
# Structural Biochemistry/Membrane Proteins/Ion Channels/Ion channels/Selectivity filter

In the selectivity filter, peptide carbonyl groups coordinate the ions. The ion flow through the selectivity filter is facilitated by ion-ion repulsion, with one ion pushing the nest ion through the channel.
# Structural Biochemistry/Membrane Proteins/Ion Channels/Transient receptor potential channel

Transient receptor potential (TRP) ion channels get their name from a Drosophila phototransduction mutant that show a transient instead of a sustained response to bright light. In addition to responses to light, TRPs mediate responses to nerve growth factor, pheromones, olfaction, mechanical, chemical, temperature, pH, osmolarity, vasorelaxation of blood vessels, and metabolic stress. TRP-related ion channel proteins are found in a variety of organisms, tissues, and cell types, including nonexcitable, smooth muscle, and neuronal cells. TRP channels are recruited to diverse signaling pathways, such as gating mechanisms, regulation, and permeability.
Reference:
1. Ajay Dhaka, Veena Viswanath, and Ardem Patapoutian, "TRP Ion channels and Temperature Sensation"
2. Baruch Minke and Boaz Cook, "TRP Channel Proteins and Signal Transduction"
3. Kartik Venkatachalam and Craig Montell, "TRP Channels"
4.http://en.wikipedia.org/wiki/Transient_receptor_potential_channel
5.CHEN jingyu, MENG Hui, FENG Hua, "TRP channel and central nervous system diseases"
6.HAN ChongYang, WANG XiaoLiang, "Recent Advances on TRP Channels"
# Welsh/Grammar/Pronouns
## Personal pronouns

| English | Cymraeg | English | Cymraeg |
| I, me | i/fi | we, us | ni |
| you (informal/singular) | ti | you (formal/plural) | chi |
| he, him | e/fe (South) o/fo (North) | they, them | nhw |
| she, her | hi | |
The pronouns listed can vary in their forms amongst speakers. In the North, the second person singular form chdi (earlier thdi from the reduplicated form tydi (thou, thyself)) is not unheard of, and some speakers retain the archaic form chwi for the plural. Northern speakers retain the objective form of the first person singular pronoun mi in the prepositional phrase i mi ("to/for me"). Some speakers retain an older form ef for the masculine third person singular. The third person plural pronoun hwy(nt) is strictly literary.

## Possessive pronouns

After some there is a mutation, (soft, nasal or aspirate). If the following word begins with a vowel ei, ein and eu make it start with h instead. Substitute the ... with the noun.
| English | Cymraeg | Mutation | English | Cymraeg | Mutation |
| my | fy ... i | nasal | our | ein ... ni | +h |
| your (informal, singular) | dy ... di | soft | your (formal or plural) | eich ... chi | |
| his | ei ... e/fe, o/fo | soft | their | eu ... nhw | +h |
| her | ei ... hi | aspirate, +h |
Fy can have different forms colloquially ('y(n); 'm and 'n can occur after vowels; when triggering nasal mutation, fy is sometimes dropped entirely). The rest of the possessive pronouns can also take different forms after vowels: (dy > 'th, ei > 'i (after vowels) / 'w (after i), ein > 'n, eich > 'ch, eu > 'u (after vowels) / 'w (after i)).
# Welsh/Grammar/Verbs/Future
## Bod

| Pronoun | Affirmative | Negative | Interrogative | Yes | No |
| Fi | Bydda i | Fydda i ddim | Fydda i? | Bydda (I will) | Na fydda (I won't) |
| Ti | Byddi di | Fyddi di ddim | Fyddi di? | Byddi (You will) | Na fyddi (You won't) |
| Fe | Bydd e | Fydd e ddim | Fydd e? | Bydd (He will) | Na fydd (He won't) |
| Ni | Byddwn ni | Fyddwn ni ddim | Fyddwn ni? | Byddwn (We will) | Na fyddwn (We won't) |
| Chi | Byddwch chi | Fyddwch chi ddim | Fyddwch chi? | Byddwch (You will) | Na fyddwch (You won't) |
| Nhw | Byddan nhw | Fyddan nhw ddim | Fyddan nhw? | Byddan (They will) | Na fyddan (They won't) |
# Welsh/Grammar/Verbs/Irregular

Mynd, Gwneud, Dod, and Cael all have irregular forms in their concise constructions. List below
Irregular Forms Table :
| | Mynd (to go) | Gwneud (to do, make) | Dod (to come) | Cael (to get) |
| Past Tense Concise |||||
| Fi | Es i | Gwnes i | Des i | Ces i |
| Ti | Est ti | Gwnest ti | Dest ti | Cest ti |
| Siân | Aeth Siân | Gwnaeth Siân | Daeth Siân | Cafodd Siân |
| Ni | Aethon ni | Gwnaethon ni | Daethon ni | Cawson ni |
| Chi | Aethoch chi | Gwnaethoch chi | Daethoch chi | Cawsoch chi |
| Nhw | Aethon nhw | Gwnaethon nhw | Daethon nhw | Cawson nhw |
| Future Tense Concise |||||
| Fi | A(f) i | (Gw)na(f) i | Do(f) i | Ca(f) i |
| Ti | Ei di | (Gw)nei di | Dei di | Cei di |
| Siân | Eith Siân / Â Siân | (Gw)neith Siân / (Gw)naiff Siân | Daw Siân | Ceith Siân |
| Ni | Awn ni | (Gw)nawn ni/newn ni | Down ni | Cawn ni |
| Chi | Ewch chi | (Gw)newch chi | Dewch chi | Cewch chi |
| Nhw | Ân nhw | (Gw)nân nhw | Dôn nhw | Cân nhw |
Note that letters in brackets are added to make the verb formal. To not include them would mean the verb is said informally. Another way to make a negative verb is to put "Nid" before it, of which will require you to remove the "dim" that comes after the negative verb.
Note that when the verbs are negative, they undergo a soft mutation, excluding "cael" (to get), of which undergoes an aspirate mutation.
Note that when the verbs are asked as a question, they undergo a soft mutation.
# Welsh/Grammar/Verbs/Imperative

Add -wch to the stem of the verb-noun (chi). Add -a to the stem of the verb-noun (ti).

## Irregular forms

mynd - to go
singular
dos! (N)
cer! (S)
plural
ewch!
dod - to come
singular
tyrd! (N)
dere! (S)
plural
dewch!
# Welsh/Grammar/Verbs/Imperfect

The imperfect tense in Welsh can translate as the following. For example, Roeddwn i'n gweithio can translate as 'I was working' or 'I used to work'. Note there is a material difference between 'I worked' and 'I was working': in the first phrase, the action has been completed in the past (preterite or past perfective tense), whereas in the second, the action is continuous, yet still in the past (hence, imperfect or past imperfective tense).
Imperfect Tense - bod (to be) :
| English | Cymraeg | English | Cymraeg |
| I was, I used to | Roeddwn i | We do, We are | Roedden ni |
| You were, you used to | Roeddet ti | You were, you used to | Roeddech chi |
| He was, he used to | Roedd e/o | They were, they used to | Roedden nhw |
* Use the particle 'yn' to connect Verb-Nouns. Yn shortens to 'n after a vowel, as in the following examples.
Roeddet ti'n nofio ddoe.
    You were swimming yesterday
Roedd hi'n caru Sarah.
    She was loving Sarah.
Roedden nhw'n sefyll tu allan y dafarn.
    They were standing outside the pub.
* Remember: If using the particle with a noun or adjective, the noun must undergo a soft-mutation if possible.
Roedd y bocs yn las.
    The box was blue.
Roeddwn i'n feddyg.
    I was a doctor.
Imperfect Tense Responses bod - to be :
| English | Cymraeg | English | Cymraeg |
| Yes: I do, I am | Oeddwn / Nac oeddwn | Yes: We do, We are | Oedden / Nac oedden |
| Yes: You do, you are | oeddet / Nac oeddet | Yes: You do, you are | oeddech / Nac oeddech |
| Yes: He does, He is | oedd / Nac oedd | Yes: They do, They are | oedden / Nac oedden |
* Remember: Welsh does not use 'yes' or 'no' responses. Instead, you would answer with a more direct 'I was' or 'He was' type response.
Doeddet ti ddim yn nofio ddoe.
    You weren't swimming yesterday
Doedd hi ddim yn caru Sarah.
    She wasn't loving Sarah.
Doedden nhw ddim yn sefyll tu allan y dafarn.
    They weren't standing outside the pub.
Doedd y bocs ddim yn las.
    The box wasn't blue.
Doeddwn i ddim yn feddyg.
    I wasn't a doctor.
# Welsh/Grammar/Verbs/Conditional
## Northern Welsh
### affirmative

(ba)swn i (ba)set ti (ba)sai fo (ba)sai hi (ba)sen ni (ba)sech chi (ba)sen nhw

### interogative

* faswn i?
* faset ti?
* fasai fo?
* fasai hi?
* fasen ni?
* fasech chi?
* fasen nhw?

### negative

(fa)swn i ddim (fa)set ti ddim (fa)sai fo ddim (fa)sai hi ddim (fa)sen ni ddim (fa)sech chi ddim (fa)sen nhw ddim

## Southern Welsh
### affirmative

byddwn i byddet ti byddai fe byddai hi bydden ni byddech chi bydden nhw

### interrogative

fyddwn i? fyddet ti? fyddai fe? fyddai hi? fydden ni? fyddech chi? fydden nhw?

### negative

* fyddwn i ddim
* fyddet ti ddim
* fyddai fe ddim
* fyddai hi ddim
* fydden ni ddim
* fyddech chi ddim
* fydden nhw ddim
# Welsh/Grammar/Verbs/Past

The present tense in Welsh can translate as either the 'present indicative' or the 'present progressive'. For example, Dwi'n siarad can translate as 'I speak', 'I do speak', 'I am speaking'.
Present Tense - bod (to be) :
| Cymraeg | English | Cymraeg | English |
| I do, I am | Rydw i | We do, We are | Rydyn ni |
| You do, you are | Rwyt ti | You do, you are | Rydych chi |
| He does, He is | Mae e/o | They do, They are | Maen nhw |
* Use the particle 'yn' to connect Verb-Nouns. Yn shortens to 'n after a vowel, as in the following examples.
Dwi'n siarad Cymraeg.
    I speak Welsh. I do speak Welsh. I am speaking Welsh.
Mae hi'n mynd i'r theatr.
    I go to the theatre. I do go to the theatre. I am going to the theatre.
Maen nhw'n canu.
    They sing. They do sing. They are singing.
* Remember: If using the particle with a noun or adjective, the noun must undergo a soft-mutation if possible.
Dwi'n athro.
    I'm a teacher
Mae hi'n bump oed.
    She is 5 years old.
Present Tense Responses bod - to be :
| Cymraeg | English | Cymraeg | English |
| Yes: I do, I am | Ydw / Nac ydw | Yes: We do, We are | Ydyn / Nac ydyn |
| Yes: You do, you are | Wyt / Nac wyt | Yes: You do, you are | Ydych / Nac ydych |
| Yes: He does, He is | Ydy / Nac ydy | Yes: They do, They are | Ydyn / Nac ydyn |
* Remember: Welsh does not use 'yes' or 'no' responses. Instead, you answer with a more direct 'I do' or 'He is' type response.
A: Wyt ti'n mynd i'r parc? B: Ydw. Dwi'n mynd i'r parc.
    A: Are you going to the park?
    B: I am (yes). I'm going to the park.
A: Ydy hi'n hoffi ffilmiau? B: Ydy. Mae'n hi'n hoffi ffilmiau.
    A: Does she like films?
    B: She does (yes). She likes films.
A: Ydy Brad yn chwarae heddiw? B: Nac ydy. Dydy Brad ddim yn chwarae heddiw.
    A: Is Brad playing today?
    B: He isn't. Brad isn't playing today.
# Welsh/Grammar/Verbs/Perfect

| Pronoun | Affirmative | Negative | Interrogative | Yes | No |
| Fi | Rydw i wedi | Dydw i ddim wedi | Ydw i wedi? | Ydw | Nac ydw |
| Ti | Rwyt ti wedi | Dwyt ti ddim wedi | Wyt ti wedi? | Wyt | Nac wyt |
| Fe | Mae e wedi | Dyw e ddim wedi | Ydy e wedi? | Ydy | Nac ydy |
| Ni | Rydyn ni wedi | Dydyn ni ddim wedi | Ydyn ni wedi? | Ydyn | Nac ydyn |
| Chi | Rydych chi wedi | Dydych chi ddim wedi | Ydych chi wedi? | Ydych | Nac ydych |
| Nhw | Maen nhw wedi | Dydyn nhw ddim wedi | Ydyn nhw wedi? | Ydyn | Nac ydyn |
# Vehicle Identification Numbers (VIN codes)/Land Rover/VIN Codes

From 1948 to the early eighties, Land Rover used for their cars chassis numbers of their own format. These formats are described in the table below. Since 1980 Land Rover deploys the standard 17-character Vehicle Identification Number (VIN), complying with international standards.
Car details can be derived (decoded, calculated) from the chassis numbers and the VIN. Typically, the model (Defender, Discovery, Range Rover, Freelander), model type (station wagon, three/four door, etc), wheelbase (90 inch, 100 inch, 110 inch, etc.), engine, LHD/RHD, gearbox, and model year is included in the VIN.

## Chassis number formats over the years

| Description | Format |
| 17-characters, International VIN, 1980-later | SAL.............. |
| 17-characters, Int. VIN for LR do Brazil | 93R.............. |
| 17-characters, Int. VIN for AAD, 1985-1995 | AAD.............. |
| 17-characters, US/Canada VIN, 1987-later | SAL................. |
| 17-characters, Brazil VIN for JLR Brazil, 2016-later | 99J................. |
| 14-characters: is actually the 17-char |
| VIN missing the SAL bit |
| 9-character numbers, 1955 | 17.6..... |
| 9-character numbers, 1956 to 1961 | 1........ |
| 9-character numbers, 1950 | L........ or R........ |
| 9-character numbers, 1962 to 1979 | ......... |
| 8-character numbers, 1948 to 1949 | .8...... |
| 8-character numbers, 1950 to 1953 | .6...... |
| 8-character numbers, 1954 to 1955 | .7...... |
| 7-character numbers, 1948 to 1949 | ....... |
| 6-character numbers, ???? prototypes | 110F.. |
| 3-character numbers, 1948 prototypes | R.. or L.. |

## Plant Codes

* A - Solihull, West Midlands, England, UK
* H - Halewood, Merseyside, England, UK
* 2 - Nitra, Slovakia

## External links

* CalVIN, the on-line free Land Rover VIN CALculator
* Land Rover FAQ archive
* Land Rover VIN decoder
# TPACKing for a Wonderful Educational Trip/Dr. Z's TPackers' Biographies
## Contributors' Biographies
### Group 1 - The Mitchell School for Performing Arts (Team J B D W M)

* Brandyce - former community college instructor - sociology
* Deb - technical services director in a private Iowa college
* Joshua - grad student who knows music, video production, and instructional technology
* Wilson - teaches English as a foreign language in his native Chile
* Marty - director of technology for administration & financial services @ UNI

### Group 2 - BMK High School (Meet the Teachers)

* Meghan - business and marketing background, graphic designer, and swimmer
* Kristen - community college instructor - corporate business and medical assisting
* Brandi - works in an NGO developing training for volunteers
* Candyce - perpetual student

### Group 3 - Dream High School (3 Girls and a Guy)

* Jennie -
* Stacy - high school business teacher
* Nelson - musician and graduate assistant in Educational Technology Dept at UNI
* Carrie - teacher at an alternative high school

### Group 4 - Panther High School (The Fightin' Fourth)

* Lance - a school district's technology director
* Cathy - high school literacy teacher in a large, urban high school
* Bill - language arts, speech and theater teacher, and technical director of the performing arts center in a large, urban high school

### Group 5 - MCCL School (Team MCCL)

* Mande - High school English teacher
* Linda - substitute teacher; former community college instructor
* Chelsey -
* Clay -

### Group 6 - JaJoSa Elementary School (The TechSperts)

* Jami - 3rd grade teacher. See Jami's introduction on Xtranormal
* Lisa - Art/T.A.G/Exploratory teacher
# World Heritage Sites/Introduction

World Heritage Sites are sites with legal protection which is administered by UNESCO (United Nations Educational, Scientific and Cultural Organization). They can be of either cultural or natural importance. As of June 2020, there are a total of 1,121 World Heritage Sites (869 cultural, 213 natural, and 39 mixed properties) across 167 countries.