Для начала, пожалуйста, извините за мое невежество, я не программист, а скорее студент-исследователь, которому приходится писать некоторые программы.
Сейчас я работаю над страницей, которая займетпользовательский ввод (в конечном счете, будет угадайку в игре с угадыванием) и сохраните его в CSV-файле.Технический парень предупредил меня об опасности внедрения SQL-кода и межсайтового скриптинга, поэтому я нашел их в Google и стратегии защиты.Но похоже, что существует МНОГИЕ стратегии, и мне трудно понять, какие из них мне нужно использовать.Например, мне даже нужно беспокоиться о внедрении SQL, если я не использую SQL?Я использую sql и просто не знаю?Было бы достаточно убрать все не алфавитные символы из ввода, используя javascript (я действительно не нуждаюсь в них)?
Может кто-нибудь сказать мне: какие стратегии защиты мне нужно использовать, учитывая то,пытаюсь сделать?
Если это поможет, вот мой код до сих пор.Я пытаюсь использовать Ajax, поэтому у меня есть следующие компоненты:
A.HTML: представляет текстовое поле и кнопки для записи ввода в файл CSV (один для записи в ту же строку, другой для записи в новую строку).
<input id="input" type="text"><br><br>
<input type="button" onClick="javascript:writeToFile(0, document.getElementById('input').value)" value="write on same line"><br><br>
<input type="button" onClick="javascript:writeToFile(1,document.getElementById('input').value)" value="write on new line"><br>
B.Javascript: создает объект XMLHttpRequest, открывает его с помощью post и указывает сценарий php и отправляет его вместе со строкой, введенной пользователем (здесь я не включил функцию обратного вызова, потому что я не изменяю html-страницу в ответ, ноесли мне нужно, дайте мне знать).
function createRequestObject()<br>
{<br>
var ro;<br>
var browser = navigator.appName;<br>
if(browser == "Microsoft Internet Explorer")<br>
{<br>
ro = new ActiveXObject("Microsoft.XMLHTTP");<br>
}<br>
else<br>
{<br>
ro = new XMLHttpRequest();<br>
}<br>
return ro;<br>
}<br>
function writeToFile(newline, content)<br>
{<br>
var ajaxRO = createRequestObject();<br>
content+=", "<br>
var params="newline=" + newline + "&content=" + content<br>
ajaxRO.open("POST", "writer2.php", true);<br>
ajaxRO.setRequestHeader("Content-type", "application/x-www-form-urlencoded");<br>
ajaxRO.send(params);<br>
}
C.PHP: извлекает переменные из Post (первая сообщает, если нужна новая строка, вторая сообщает, что писать)
<?php<br>
$myFile = "results.csv";<br>
$fh = fopen($myFile, 'a') or die("can't open file");<br>
$toWrite = $_POST['content'];<br>
$newLine = $_POST['newline'];<br>
if($newLine==1)<br>
{<br>
fwrite($fh, "\n");<br>
fwrite($fh, $toWrite);<br>
fclose($fh);<br>
}<br>
else<br>
{<br>
fwrite($fh, $toWrite);<br>
fclose($fh);<br>
}<br>
?>
Спасибомного для любой информации, которую вы можете предоставить!