Forbidden Erro ao enviar um formulário PHP simples

Tenho um problema não complicado ... que parece ser mais complicado do que deveria ser.

Tenho um formulário simples usado para adicionar conteúdo a um site. Alguns dos campos precisam ter html inserido neles. No entanto, quando você insere certos elementos html nas diferentes partes do formulário, ele decide que o odeia e lança um erro 403 proibido. Aqui está o formulário abaixo:

<?php
    $data = f("SELECT * FROM table WHERE id = '{$_GET['id']}'");
?>
<form action="<?=$_SERVER['PHP_SELF']?>?id=<?=$_GET['id']?>&action=edit" method="post">
    <table cellspacing="0" cellpadding="2" border="0">
        <tr>
            <td><b>Title:</b></td>
            <td><input type="text" name="title" style="width: 300px;" value="<?=$data['title']?>" /></td>
        </tr>
        <tr>
            <td><b>URL:</b></td>
            <td><input type="text" name="url" style="width: 300px;" value="<?=$data['url']?>" /></td>
        </tr>
        <tr>
            <td><b>Sub-Category:</b></td>
            <td>
                <select name="subCategoryId">
                    <option value=""></option>
                    <option value="1">A</option>
                    <option value="2">B</option>

                </select>
            </td>
        </tr>
        <tr>
            <td><b>Short Description:</b></td>
            <td><textarea name="shortDescription" rows="6" cols="60"><?=$data['shortDescription']?></textarea></td>
        </tr>
        <tr>
            <td><b>Template:</b></td>
            <td><textarea name="template" rows="6" cols="60"><?=$data['template']?></textarea></td>
        </tr>
        <tr>
            <td><b>Ads:</b></td>
            <td><textarea name="ads" rows="6" cols="60"><?=$data['ads']?></textarea></td>
        </tr>
        <tr>
            <td><b>Keywords:</b></td>
            <td><textarea name="keywords" rows="6" cols="60"><?=$data['keywords']?></textarea></td>
        </tr>
        <tr>
            <td><b>Questions:</b></td>
            <td><textarea name="questions" rows="6" cols="60"><?=$data['questions']?></textarea></td>
        </tr>
        <tr>
            <td><b>Salary:</b></td>
            <td><textarea name="salary" rows="6" cols="60"><?=$data['salary']?></textarea></td>
        </tr>
        <tr>
            <td><b>Jobs:</b></td>
            <td><textarea name="jobs" rows="6" cols="60"><?=$data['jobs']?></textarea></td>
        </tr>
        <tr>
            <td><b>Meta Description:</b></td>
            <td><input type="text" name="metaDescription" style="width: 300px;" value="<?=$data['metaDescription']?>" /></td>
        </tr>
        <tr>
            <td><b>Meta Keywords:</b></td>
            <td><input type="text" name="metaKeywords" style="width: 300px;" value="<?=$data['metaKeywords']?>" /></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="submit" value="Edit Job" /></td>
        </tr>
    </table>
</form>

Tenho outras formas que seguem esse mesmo padrão sem problemas. Para tornar isso ainda mais confuso, ele emitirá esse erro apenas quando quaisquer 2 elementos html forem fornecidos na área de texto (ele lida com um elemento html). As áreas de texto são anúncios, palavras-chave, salários e empregos. As outras áreas de texto aceitarão bem, mas essas 4 não. Se eu puder deixar isso um pouco mais confuso, se eu simplesmente inserir texto nesses campos e salvá-lo, ele será executado sem problema

Para manipular os dados da postagem, eu só uso mysql_real_escape_string () para manipular os dados, não faço strip_tags () porque preciso do html lá.

Isso é um erro apache estranho que pode ser corrigido com .htaccess? Existe um módulo em PHP que está em conflito com isso?

------- EDITAR AQUI A RESPOSTA --------

Ben trouxe uma resposta fantástica que provavelmente é o problema e não posso corrigi-lo por falta de privilégios. Então, eu criei um evento onsubmit a partir de uma ideia que a Gerben me deu e escreveu o seguinte javascript.

function awesome() {
        elements = document.forms[0].elements;
        for(var i = 0; i < elements.length; i++) {
            switch(elements[i].name) {
                case "ads":
                case "shortDescription":
                case "template":
                case "questions":
                case "salary":
                case "jobs":
                    str = elements[i].value;
                    elements[i].value = str.replace(/</g,"#@!");
                    break;
            }
        }
        return true;    
    }

Em seguida, no lado de recebimento, fiz um str_replace para substituir # @! de volta a <e isso pelo menos fez a coisa funcionar.

Estou em um cavalo .... hyaa!

Obrigado por toda sua ajuda. :)

questionAnswers(5)

yourAnswerToTheQuestion